Ignore:
Timestamp:
Nov 23, 2012 10:30:55 AM (11 years ago)
Author:
riza
Message:

Re #1098: Additional implementation to command parsing, telnet front end, console front end

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/cli/pjsip-apps/src/samples/clidemo.c

    r3232 r4299  
    3434 * Default: 1 
    3535 */ 
    36 #define USE_RANDOM_PORT 1 
     36#define USE_RANDOM_PORT 0 
    3737 
    3838struct cmd_xml_t { 
     
    8282} 
    8383 
    84 static pj_status_t quit(pj_cli_cmd_val *cval) 
     84static pj_status_t quit_app(pj_cli_cmd_val *cval) 
    8585{ 
    8686    PJ_UNUSED_ARG(cval); 
    87     pj_cli_end_session(cval->sess); 
     87    pj_cli_quit(cval->sess->fe->cli, cval->sess, PJ_FALSE); 
    8888 
    8989    return PJ_CLI_EEXIT; 
     
    9292static struct cmd_xml_t cmd_xmls[] = { 
    9393    {"<CMD name='sayhello' id='1' sc='  ,h , ,, sh  ,' desc='Will say hello'>" 
    94      "  <ARGS>" 
    9594     "    <ARG name='whom' type='text' desc='Whom to say hello to'/>" 
    96      "  </ARGS>" 
    9795     "</CMD>", 
    9896     &sayhello}, 
    9997    {"<CMD name='saybye' id='2' sc='b,sb' desc='Will say bye'>" 
    100      "  <ARGS>" 
    10198     "    <ARG name='whom' type='text' desc='Whom to say bye to'/>" 
    102      "  </ARGS>" 
    10399     "</CMD>", 
    104100     &saybye}, 
    105     {"<CMD name=' say ' id='3' sc='s' desc='Will say something'>" 
    106      "  <ARGS>" 
     101    {"<CMD name='saymsg' id='3' sc='s' desc='Will say something'>" 
    107102     "    <ARG name='msg' type='text' desc='Message to say'/>" 
    108103     "    <ARG name='whom' type='text' desc='Whom to say to'/>" 
    109      "  </ARGS>" 
    110104     "</CMD>", 
    111105     &say}, 
    112     {"<CMD name='quit' id='999' sc='q' desc='Quit the application'>" 
    113      "</CMD>", 
    114      &quit}, 
     106    {"<CMD name='vid' id='1' desc='Video Command'>" 
     107     "   <CMD name='help' id='2' desc='Show Help' />" 
     108     "   <CMD name='enable' id='3' desc='Enable Video' />" 
     109     "   <CMD name='disable' id='4' desc='Disable Video' />" 
     110     "   <CMD name='call' id='5' desc='Video call' >" 
     111     "            <CMD name='add' id='6' desc='Add Call' />" 
     112     "            <CMD name='cap' id='7' desc='Capture Call' >" 
     113     "               <ARG name='streamno' type='int' desc='Stream Number' id='1'/>" 
     114     "               <ARG name='devid' type='int' desc='Device Id' optional='1' id='2'/>" 
     115     "            </CMD>" 
     116     "   </CMD>"      
     117     "</CMD>", 
     118     NULL}, 
     119    {"<CMD name='quit_app' id='999' sc='qa' desc='Quit the application'>" 
     120     "</CMD>", 
     121     &quit_app}, 
    115122}; 
    116123 
     
    128135    pj_str_t xml; 
    129136    pj_status_t status; 
    130     int i; 
     137    int i;         
    131138 
    132139    pj_init(); 
     
    150157     */ 
    151158    for (i = 0; i < sizeof(cmd_xmls)/sizeof(cmd_xmls[0]); i++) { 
    152         xml = pj_str(cmd_xmls[i].xml); 
     159        xml = pj_str(cmd_xmls[i].xml);   
    153160        status = pj_cli_add_cmd_from_xml(cli, NULL, &xml,  
    154                                          cmd_xmls[i].handler, NULL); 
     161                                         cmd_xmls[i].handler, NULL, NULL); 
    155162        if (status != PJ_SUCCESS) 
    156163            goto on_return; 
     
    210217     */ 
    211218    for (;;) { 
    212         char cmdline[PJ_CLI_MAX_CMDBUF]; 
    213219        pj_status_t status; 
    214220 
    215         status = pj_cli_console_readline(sess, cmdline, sizeof(cmdline)); 
     221        status = pj_cli_console_process(sess); 
    216222        if (status != PJ_SUCCESS) 
    217223            break; 
    218224 
    219 //        pj_ansi_strcpy(cmdline, "sayhello {Teluu Inc.}"); 
    220         status = pj_cli_exec(sess, cmdline, NULL); 
     225        //pj_ansi_strcpy(cmdline, "sayhello {Teluu Inc.}");      
    221226        if (status == PJ_CLI_EEXIT) { 
    222227            /* exit is called */ 
Note: See TracChangeset for help on using the changeset viewer.