⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 voip_cli.c

📁 telcobridges voip develop
💻 C
📖 第 1 页 / 共 5 页
字号:

						/* 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 + -