📄 voip_cli.c
字号:
/* First trunk */
case TBX_CLI_TOOLS_KEY_HOME_KEY:
{
pCliContext->un32PageIndex = 0;
} break;
/* Last trunk */
case TBX_CLI_TOOLS_KEY_END_KEY:
{
pCliContext->un32PageIndex = (pCliContext->un32PageCount - 1);
} break;
/* Previous trunk */
case TBX_CLI_TOOLS_KEY_UP_ARROW_KEY:
{
if( pCliContext->un32PageIndex == 0 )
{
pCliContext->un32PageIndex = (pCliContext->un32PageCount - 1);
}
else
{
pCliContext->un32PageIndex--;
}
} break;
/* Next trunk */
case TBX_CLI_TOOLS_KEY_DOWN_ARROW_KEY:
{
if( pCliContext->un32PageIndex == (pCliContext->un32PageCount - 1) )
{
pCliContext->un32PageIndex = 0;
}
else
{
pCliContext->un32PageIndex++;
}
} break;
/* Select current page */
case VOIP_CLI_MENU_KEY_SELECT_PAGE:
{
VoipCliCmdSelectPageInit( io_pCmdInput );
} break;
}
}
/* Stream information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_STREAM_INFO )
{
/* Main displays options */
switch (in_KeyPressed)
{
/* Skip next 5 IP ports */
case TBX_CLI_TOOLS_KEY_PAGE_DOWN_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort += 5;
g_DefaultPrompts.SelectStream.un16TxIPPort += 5;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* Skip previous 5 IP ports */
case TBX_CLI_TOOLS_KEY_PAGE_UP_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort -= 5;
g_DefaultPrompts.SelectStream.un16TxIPPort -= 5;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* First IP port */
case TBX_CLI_TOOLS_KEY_HOME_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort = 0;
g_DefaultPrompts.SelectStream.un16TxIPPort = 0;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* Last IP port */
case TBX_CLI_TOOLS_KEY_END_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort = 0xFFFF;
g_DefaultPrompts.SelectStream.un16TxIPPort = 0xFFFF;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* Previous IP port */
case TBX_CLI_TOOLS_KEY_UP_ARROW_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort--;
g_DefaultPrompts.SelectStream.un16TxIPPort--;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* Next IP port */
case TBX_CLI_TOOLS_KEY_DOWN_ARROW_KEY:
{
g_DefaultPrompts.SelectStream.un16RxIPPort++;
g_DefaultPrompts.SelectStream.un16TxIPPort++;
VoipCliCmdSelectStreamApplyInternal();
} break;
/* Select stream */
case VOIP_CLI_MENU_KEY_SELECT_STREAM:
{
VoipCliCmdSelectStreamInit( io_pCmdInput );
} break;
}
}
/* Trunk information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_TRUNK_INFO )
{
/* Main displays options */
switch (in_KeyPressed)
{
/* Skip next 10 trunks */
case TBX_CLI_TOOLS_KEY_PAGE_DOWN_KEY:
{
if( pCliContext->un32PageIndex >= (pCliContext->un32PageCount - 5) )
{
pCliContext->un32PageIndex = (pCliContext->un32PageIndex - (pCliContext->un32PageCount - 5));
}
else
{
pCliContext->un32PageIndex += 5;
}
} break;
/* Skip previous 10 trunks */
case TBX_CLI_TOOLS_KEY_PAGE_UP_KEY:
{
if( pCliContext->un32PageIndex < 5 )
{
pCliContext->un32PageIndex = (pCliContext->un32PageCount - (5 - pCliContext->un32PageIndex));
}
else
{
pCliContext->un32PageIndex -= 5;
}
} break;
/* First trunk */
case TBX_CLI_TOOLS_KEY_HOME_KEY:
{
pCliContext->un32PageIndex = 0;
} break;
/* Last trunk */
case TBX_CLI_TOOLS_KEY_END_KEY:
{
pCliContext->un32PageIndex = (pCliContext->un32PageCount - 1);
} break;
/* Previous trunk */
case TBX_CLI_TOOLS_KEY_UP_ARROW_KEY:
{
if( pCliContext->un32PageIndex == 0 )
{
pCliContext->un32PageIndex = (pCliContext->un32PageCount - 1);
}
else
{
pCliContext->un32PageIndex--;
}
} break;
/* Next trunk */
case TBX_CLI_TOOLS_KEY_DOWN_ARROW_KEY:
{
if( pCliContext->un32PageIndex == (pCliContext->un32PageCount - 1) )
{
pCliContext->un32PageIndex = 0;
}
else
{
pCliContext->un32PageIndex++;
}
} break;
/* Select current page */
case VOIP_CLI_MENU_KEY_SELECT_PAGE:
{
VoipCliCmdSelectPageInit( io_pCmdInput );
} break;
}
}
/* Prompt information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_PROMPT_INFO )
{
}
/* RawDataFile information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_RAW_DATA_FILE_INFO )
{
}
/* BERT information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_BERT_INFO )
{
/* Main displays options */
switch (in_KeyPressed)
{
case VOIP_CLI_MENU_KEY_RESET_BERT_STATS:
{
VoipCliCmdResetBertStatsApply( io_pCmdInput );
}break;
}
}
/* Map of trunk resource status display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_MAP )
{
}
/* Inverted map of trunk resource status display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_INV_MAP )
{
}
/* Graph of packet type status display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_PACKET_TYPE_GRAPH )
{
}
/* Map of trunk resource status and graph of packet type status display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_MAP_AND_PACKET_TYPE_GRAPH )
{
}
/* Inverted map of trunk resource status and graph of packet type status display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_INV_MAP_AND_PACKET_TYPE_GRAPH )
{
}
}
}
}
TBX_SEM_GIV (g_pContext->hThreadSem);
return;
}
/*-------------------------------------------------------------------------------------------------------------------------------
|
| VoipCliValidateUserInput : This function handles the menu choice of user
|
| Note : ~
|
| Return : TBX_RESULT_OK
| TBX_RESULT_FAIL
|
*------------------------------------------------------------------------------------------------------------------------------*/
TBX_BOOL VoipCliValidateUserInput(
IN TBX_CLI_TOOLS_HANDLE in_hCliTools,
IN PTBX_VOID in_pContext,
IN_OUT PTBX_CLI_TOOLS_CMD io_pCmdInput)
{
PVOIP_CLI_CONTEXT pCliContext = &g_pContext->CliContext;
TBX_BOOL fEnteredValueValid = TBX_FALSE;
(TBX_VOID)in_hCliTools;
(TBX_VOID)in_pContext;
TBX_SEM_GET (g_pContext->hThreadSem, TBX_SEM_WAIT_FOREVER);
if( !pCliContext->fCliToolsSafe )
{
/* Not safe yet to process this callback. Do nothing for now */
}
else
{
/* Main display */
if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_MAIN )
{
/* Validate the user input */
switch( io_pCmdInput->CmdType )
{
case VOIP_CLI_CMD_TYPE_QUIT:
fEnteredValueValid = VoipCliCmdQuitValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_LOG_FIND:
fEnteredValueValid = VoipCliCmdLogFindValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_SET_TRACE_LEVEL:
fEnteredValueValid = VoipCliCmdSetTraceLevelValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_RELOAD_CONFIG:
fEnteredValueValid = VoipCliCmdReloadConfigValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_START_STRESS_TEST:
fEnteredValueValid = VoipCliCmdStartStressTestValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_STOP_STRESS_TEST:
fEnteredValueValid = VoipCliCmdStopStressTestValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_RESET_STRESS_TEST_STATS:
fEnteredValueValid = VoipCliCmdResetStressTestStatsValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_START_DEMO:
fEnteredValueValid = VoipCliCmdStartDemoValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_STOP_DEMO:
fEnteredValueValid = VoipCliCmdStopDemoValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_NEXT_DEMO_STEP:
fEnteredValueValid = VoipCliCmdNextDemoStepValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_ALLOCATE_CONNECTION:
fEnteredValueValid = VoipCliCmdAllocateConnectionValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_CLEAR_CONNECTION:
fEnteredValueValid = VoipCliCmdClearConnectionValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_NONE:
break;
}
}
/* Connection information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_CONNECTION_INFO )
{
/* Validate the user input */
switch( io_pCmdInput->CmdType )
{
case VOIP_CLI_CMD_TYPE_QUIT:
fEnteredValueValid = VoipCliCmdQuitValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_SELECT_PAGE:
fEnteredValueValid = VoipCliCmdSelectPageValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_NEXT_DEMO_STEP:
fEnteredValueValid = VoipCliCmdNextDemoStepValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_NONE:
break;
}
}
/* Stream information display */
else if( pCliContext->aDisplay[pCliContext->un32DisplayIndex] == VOIP_CLI_DISPLAY_TYPE_STREAM_INFO )
{
/* Validate the user input */
switch( io_pCmdInput->CmdType )
{
case VOIP_CLI_CMD_TYPE_QUIT:
fEnteredValueValid = VoipCliCmdQuitValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_SELECT_STREAM:
fEnteredValueValid = VoipCliCmdSelectStreamValidate( io_pCmdInput );
break;
case VOIP_CLI_CMD_TYPE_NEXT_DEMO_STEP:
fEnteredValueValid = VoipCliCmdNextDemoStepValidate( io_pCmdInput );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -