📄 utilities.cpp
字号:
cs->Format( "%d", connectionID_Device );
break;
}
return cs;
}
CString * makeConnectionIDStr( ConnectionID_t *connectionID )
{
CString *cs = new CString;
CString *csCID = makeConnectionID_DeviceStr( connectionID->devIDType );
cs->Format( "{ callID=%d deviceID='%s' devIDType=%s }",
connectionID->callID, connectionID->deviceID, csCID->GetString() );
delete csCID;
return cs;
}
CString * makeCSTACallStateStr( CSTACallState_t *cstaCallState )
{
CString *cs = new CString;
cs->Format( "{ %d: ", cstaCallState->count );
for ( int i=0; i<cstaCallState->count; i++ )
{
CString *csLCS = makeLocalConnectionStateStr( cstaCallState->state[i] );
CString tmp_cs;
tmp_cs.Format( "%s ", csLCS->GetString() );
delete csLCS;
*cs += tmp_cs;
}
*cs += "}";
return cs;
}
CString * makeCSTASnapshotCallResponseInfoStr( CSTASnapshotCallResponseInfo_t *cstaSnapshotCallResponseInfo )
{
CString *cs = new CString;
CString *csCID = makeConnectionIDStr( &cstaSnapshotCallResponseInfo->callIdentifier );
CString *csEDID = makeExtendedDeviceIDStr( &cstaSnapshotCallResponseInfo->deviceOnCall );
CString *csLCS = makeLocalConnectionStateStr( cstaSnapshotCallResponseInfo->localConnectionState );
cs->Format( "{ callIdentifier=%s deviceOnCall=%s localConnectionState=%s }",
csCID->GetString(), csEDID->GetString(), csLCS->GetString() );
delete csCID;
delete csEDID;
delete csLCS;
return cs;
}
CString * makeCSTASnapshotDeviceResponseInfoStr( CSTASnapshotDeviceResponseInfo_t *cstaSnapshotDeviceResponseInfo )
{
CString *cs = new CString;
CString *csCID = makeConnectionIDStr( &cstaSnapshotDeviceResponseInfo->callIdentifier );
CString *csCCS = makeCSTACallStateStr( &cstaSnapshotDeviceResponseInfo->localCallState );
cs->Format( "{ callIdentifier=%s localCallState=%s }",
csCID->GetString(), csCCS->GetString() );
delete csCID;
delete csCCS;
return cs;
}
CString * makeCSTASnapshotCallDataStr( CSTASnapshotCallData_t *snapshotCallData )
{
CString *cs = new CString;
cs->Format( "%d", snapshotCallData->count );
for ( int i=0; i<snapshotCallData->count; i++ )
{
CString *csCSCRI = makeCSTASnapshotCallResponseInfoStr( &snapshotCallData->info[i] );
CString tmp_cs;
tmp_cs.Format( "\n snap%d=%s", i, csCSCRI->GetString() );
delete csCSCRI;
*cs += tmp_cs;
}
return cs;
}
CString * makeCSTASnapshotDeviceDataStr( CSTASnapshotDeviceData_t *snapshotDeviceData )
{
CString *cs = new CString;
cs->Format( "%d", snapshotDeviceData->count );
for ( int i=0; i<snapshotDeviceData->count; i++ )
{
CString *csCSDRI = makeCSTASnapshotDeviceResponseInfoStr( &snapshotDeviceData->info[i] );
CString tmp_cs;
tmp_cs.Format( "\n snap%d=%s", i, csCSDRI->GetString() );
delete csCSDRI;
*cs += tmp_cs;
}
return cs;
}
CString * makeCSTAMonitorFilterStr( CSTAMonitorFilter_t *monitorFilter )
{
CString *cs = new CString;
cs->Format( "{ agent=0x%x call=0x%x feature=0x%x maintenance=0x%x privateFilter=0x%x }",
monitorFilter->agent, monitorFilter->call, monitorFilter->feature,
monitorFilter->maintenance, monitorFilter->privateFilter );
return cs;
}
CString * makeCSTAEventCauseStr( CSTAEventCause_t cause )
{
CString *cs = new CString;
switch( cause )
{
case EC_NONE:
*cs = "EC_NONE";
break;
case EC_ACTIVE_MONITOR:
*cs = "EC_ACTIVE_MONITOR";
break;
case EC_ALTERNATE:
*cs = "EC_ALTERNATE";
break;
case EC_BUSY:
*cs = "EC_BUSY";
break;
case EC_CALL_BACK:
*cs = "EC_CALL_BACK";
break;
case EC_CALL_CANCELLED:
*cs = "EC_CALL_CANCELLED";
break;
case EC_CALL_FORWARD_ALWAYS:
*cs = "EC_CALL_FORWARD_ALWAYS";
break;
case EC_CALL_FORWARD_BUSY:
*cs = "EC_CALL_FORWARD_BUSY";
break;
case EC_CALL_FORWARD_NO_ANSWER:
*cs = "EC_CALL_FORWARD_NO_ANSWER";
break;
case EC_CALL_FORWARD:
*cs = "EC_CALL_FORWARD";
break;
case EC_CALL_NOT_ANSWERED:
*cs = "EC_CALL_NOT_ANSWERED";
break;
case EC_CALL_PICKUP:
*cs = "EC_CALL_PICKUP";
break;
case EC_CAMP_ON:
*cs = "EC_CAMP_ON";
break;
case EC_DEST_NOT_OBTAINABLE:
*cs = "EC_DEST_NOT_OBTAINABLE";
break;
case EC_DO_NOT_DISTURB:
*cs = "EC_DO_NOT_DISTURB";
break;
case EC_INCOMPATIBLE_DESTINATION:
*cs = "EC_INCOMPATIBLE_DESTINATION";
break;
case EC_INVALID_ACCOUNT_CODE:
*cs = "EC_INVALID_ACCOUNT_CODE";
break;
case EC_KEY_CONFERENCE:
*cs = "EC_KEY_CONFERENCE";
break;
case EC_LOCKOUT:
*cs = "EC_LOCKOUT";
break;
case EC_MAINTENANCE:
*cs = "EC_MAINTENANCE";
break;
case EC_NETWORK_CONGESTION:
*cs = "EC_NETWORK_CONGESTION";
break;
case EC_NETWORK_NOT_OBTAINABLE:
*cs = "EC_NETWORK_NOT_OBTAINABLE";
break;
case EC_NEW_CALL:
*cs = "EC_NEW_CALL";
break;
case EC_NO_AVAILABLE_AGENTS:
*cs = "EC_NO_AVAILABLE_AGENTS";
break;
case EC_OVERRIDE:
*cs = "EC_OVERRIDE";
break;
case EC_PARK:
*cs = "EC_PARK";
break;
case EC_OVERFLOW:
*cs = "EC_OVERFLOW";
break;
case EC_RECALL:
*cs = "EC_RECALL";
break;
case EC_REDIRECTED:
*cs = "EC_REDIRECTED";
break;
case EC_REORDER_TONE:
*cs = "EC_REORDER_TONE";
break;
case EC_RESOURCES_NOT_AVAILABLE:
*cs = "EC_RESOURCES_NOT_AVAILABLE";
break;
case EC_SILENT_MONITOR:
*cs = "EC_SILENT_MONITOR";
break;
case EC_TRANSFER:
*cs = "EC_TRANSFER";
break;
case EC_TRUNKS_BUSY:
*cs = "EC_TRUNKS_BUSY";
break;
case EC_VOICE_UNIT_INITIATOR:
*cs = "EC_VOICE_UNIT_INITIATOR";
break;
case EC_NETWORKSIGNAL:
*cs = "EC_NETWORKSIGNAL";
break;
case EC_ALERTTIMEEXPIRED:
*cs = "EC_ALERTTIMEEXPIRED";
break;
case EC_DESTOUTOFORDER:
*cs = "EC_DESTOUTOFORDER";
break;
case EC_NOTSUPPORTEDBEARERSERVICE:
*cs = "EC_NOTSUPPORTEDBEARERSERVICE";
break;
case EC_UNASSIGNED_NUMBER:
*cs = "EC_UNASSIGNED_NUMBER";
break;
case EC_INCOMPATIBLE_BEARER_SERVICE:
*cs = "EC_INCOMPATIBLE_BEARER_SERVICE";
break;
default:
cs->Format( "%d", cause );
break;
}
return cs;
}
CString * makeCSTAUFStr( CSTAUniversalFailure_t error )
{
CString *cs = new CString;
switch( error )
{
case GENERIC_UNSPECIFIED:
*cs = "GENERIC_UNSPECIFIED";
break;
case GENERIC_OPERATION:
*cs = "GENERIC_OPERATION";
break;
case REQUEST_INCOMPATIBLE_WITH_OBJECT:
*cs = "REQUEST_INCOMPATIBLE_WITH_OBJECT";
break;
case VALUE_OUT_OF_RANGE:
*cs = "VALUE_OUT_OF_RANGE";
break;
case OBJECT_NOT_KNOWN:
*cs = "OBJECT_NOT_KNOWN";
break;
case INVALID_CALLING_DEVICE:
*cs = "INVALID_CALLING_DEVICE";
break;
case INVALID_CALLED_DEVICE:
*cs = "INVALID_CALLED_DEVICE";
break;
case INVALID_FORWARDING_DESTINATION:
*cs = "INVALID_FORWARDING_DESTINATION";
break;
case PRIVILEGE_VIOLATION_ON_SPECIFIED_DEVICE:
*cs = "PRIVILEGE_VIOLATION_ON_SPECIFIED_DEVICE";
break;
case PRIVILEGE_VIOLATION_ON_CALLED_DEVICE:
*cs = "PRIVILEGE_VIOLATION_ON_CALLED_DEVICE";
break;
case PRIVILEGE_VIOLATION_ON_CALLING_DEVICE:
*cs = "PRIVILEGE_VIOLATION_ON_CALLING_DEVICE";
break;
case INVALID_CSTA_CALL_IDENTIFIER:
*cs = "INVALID_CSTA_CALL_IDENTIFIER";
break;
case INVALID_CSTA_DEVICE_IDENTIFIER:
*cs = "INVALID_CSTA_DEVICE_IDENTIFIER";
break;
case INVALID_CSTA_CONNECTION_IDENTIFIER:
*cs = "INVALID_CSTA_CONNECTION_IDENTIFIER";
break;
case INVALID_DESTINATION:
*cs = "INVALID_DESTINATION";
break;
case INVALID_FEATURE:
*cs = "INVALID_FEATURE";
break;
case INVALID_ALLOCATION_STATE:
*cs = "INVALID_ALLOCATION_STATE";
break;
case INVALID_CROSS_REF_ID:
*cs = "INVALID_CROSS_REF_ID";
break;
case INVALID_OBJECT_TYPE:
*cs = "INVALID_OBJECT_TYPE";
break;
case SECURITY_VIOLATION:
*cs = "SECURITY_VIOLATION";
break;
case GENERIC_STATE_INCOMPATIBILITY:
*cs = "GENERIC_STATE_INCOMPATIBILITY";
break;
case INVALID_OBJECT_STATE:
*cs = "INVALID_OBJECT_STATE";
break;
case INVALID_CONNECTION_ID_FOR_ACTIVE_CALL:
*cs = "INVALID_CONNECTION_ID_FOR_ACTIVE_CALL";
break;
case NO_ACTIVE_CALL:
*cs = "NO_ACTIVE_CALL";
break;
case NO_HELD_CALL:
*cs = "NO_HELD_CALL";
break;
case NO_CALL_TO_CLEAR:
*cs = "NO_CALL_TO_CLEAR";
break;
case NO_CONNECTION_TO_CLEAR:
*cs = "NO_CONNECTION_TO_CLEAR";
break;
case NO_CALL_TO_ANSWER:
*cs = "NO_CALL_TO_ANSWER";
break;
case NO_CALL_TO_COMPLETE:
*cs = "NO_CALL_TO_COMPLETE";
break;
case GENERIC_SYSTEM_RESOURCE_AVAILABILITY:
*cs = "GENERIC_SYSTEM_RESOURCE_AVAILABILITY";
break;
case SERVICE_BUSY:
*cs = "SERVICE_BUSY";
break;
case RESOURCE_BUSY:
*cs = "RESOURCE_BUSY";
break;
case RESOURCE_OUT_OF_SERVICE:
*cs = "RESOURCE_OUT_OF_SERVICE";
break;
case NETWORK_BUSY:
*cs = "NETWORK_BUSY";
break;
case NETWORK_OUT_OF_SERVICE:
*cs = "NETWORK_OUT_OF_SERVICE";
break;
case OVERALL_MONITOR_LIMIT_EXCEEDED:
*cs = "OVERALL_MONITOR_LIMIT_EXCEEDED";
break;
case CONFERENCE_MEMBER_LIMIT_EXCEEDED:
*cs = "CONFERENCE_MEMBER_LIMIT_EXCEEDED";
break;
case GENERIC_SUBSCRIBED_RESOURCE_AVAILABILITY:
*cs = "GENERIC_SUBSCRIBED_RESOURCE_AVAILABILITY";
break;
case OBJECT_MONITOR_LIMIT_EXCEEDED:
*cs = "OBJECT_MONITOR_LIMIT_EXCEEDED";
break;
case EXTERNAL_TRUNK_LIMIT_EXCEEDED:
*cs = "EXTERNAL_TRUNK_LIMIT_EXCEEDED";
break;
case OUTSTANDING_REQUEST_LIMIT_EXCEEDED:
*cs = "OUTSTANDING_REQUEST_LIMIT_EXCEEDED";
break;
case GENERIC_PERFORMANCE_MANAGEMENT:
*cs = "GENERIC_PERFORMANCE_MANAGEMENT";
break;
case PERFORMANCE_LIMIT_EXCEEDED:
*cs = "PERFORMANCE_LIMIT_EXCEEDED";
break;
case UNSPECIFIED_SECURITY_ERROR:
*cs = "UNSPECIFIED_SECURITY_ERROR";
break;
case SEQUENCE_NUMBER_VIOLATED:
*cs = "SEQUENCE_NUMBER_VIOLATED";
break;
case TIME_STAMP_VIOLATED:
*cs = "TIME_STAMP_VIOLATED";
break;
case PAC_VIOLATED:
*cs = "PAC_VIOLATED";
break;
case SEAL_VIOLATED:
*cs = "SEAL_VIOLATED";
break;
case GENERIC_UNSPECIFIED_REJECTION:
*cs = "GENERIC_UNSPECIFIED_REJECTION";
break;
case GENERIC_OPERATION_REJECTION:
*cs = "GENERIC_OPERATION_REJECTION";
break;
case DUPLICATE_INVOCATION_REJECTION:
*cs = "DUPLICATE_INVOCATION_REJECTION";
break;
case UNRECOGNIZED_OPERATION_REJECTION:
*cs = "UNRECOGNIZED_OPERATION_REJECTION";
break;
case MISTYPED_ARGUMENT_REJECTION:
*cs = "MISTYPED_ARGUMENT_REJECTION";
break;
case RESOURCE_LIMITATION_REJECTION:
*cs = "RESOURCE_LIMITATION_REJECTION";
break;
case ACS_HANDLE_TERMINATION_REJECTION:
*cs = "ACS_HANDLE_TERMINATION_REJECTION";
break;
case SERVICE_TERMINATION_REJECTION:
*cs = "SERVICE_TERMINATION_REJECTION";
break;
case REQUEST_TIMEOUT_REJECTION:
*cs = "REQUEST_TIMEOUT_REJECTION";
break;
case REQUESTS_ON_DEVICE_EXCEEDED_REJECTION:
*cs = "REQUESTS_ON_DEVICE_EXCEEDED_REJECTION";
break;
case UNRECOGNIZED_APDU_REJECTION:
*cs = "UNRECOGNIZED_APDU_REJECTION";
break;
case MISTYPED_APDU_REJECTION:
*cs = "MISTYPED_APDU_REJECTION";
break;
case BADLY_STRUCTURED_APDU_REJECTION:
*cs = "BADLY_STRUCTURED_APDU_REJECTION";
break;
case INITIATOR_RELEASING_REJECTION:
*cs = "INITIATOR_RELEASING_REJECTION";
break;
case UNRECOGNIZED_LINKEDID_REJECTION:
*cs = "UNRECOGNIZED_LINKEDID_REJECTION";
break;
case LINKED_RESPONSE_UNEXPECTED_REJECTION:
*cs = "LINKED_RESPONSE_UNEXPECTED_REJECTION";
break;
case UNEXPECTED_CHILD_OPERATION_REJECTION:
*cs = "UNEXPECTED_CHILD_OPERATION_REJECTION";
break;
case MISTYPED_RESULT_REJECTION:
*cs = "MISTYPED_RESULT_REJECTION";
break;
case UNRECOGNIZED_ERROR_REJECTION:
*cs = "UNRECOGNIZED_ERROR_REJECTION";
break;
case UNEXPECTED_ERROR_REJECTION:
*cs = "UNEXPECTED_ERROR_REJECTION";
break;
case MISTYPED_PARAMETER_REJECTION:
*cs = "MISTYPED_PARAMETER_REJECTION";
break;
case NON_STANDARD:
*cs = "NON_STANDARD";
break;
default:
cs->Format( "error=%d", error );
break;
}
return cs;
}
CString * makeACSERRStr( RetCode_t rc, CString &request )
{
CString *cs = new CString;
switch ( rc )
{
case ACSERR_APIVERDENIED:
cs->Format( "%s failed: ACSERR_APIVERDENIED", request.GetString() );
break;
case ACSERR_BADPARAMETER:
cs->Format( "%s failed: ACSERR_BADPARAMETER", request.GetString() );
break;
case ACSERR_DUPSTREAM:
cs->Format( "%s failed: ACSERR_DUPSTREAM", request.GetString() );
break;
case ACSERR_NODRIVER:
cs->Format( "%s failed: ACSERR_NODRIVER", request.GetString() );
break;
case ACSERR_NOSERVER:
cs->Format( "%s failed: ACSERR_NOSERVER", request.GetString() );
break;
case ACSERR_NORESOURCE:
cs->Format( "%s failed: ACSERR_NORESOURCE", request.GetString() );
break;
case ACSERR_UBUFSMALL:
cs->Format( "%s failed: ACSERR_UBUFSMALL", request.GetString() );
break;
case ACSERR_NOMESSAGE:
cs->Format( "%s failed: ACSERR_NOMESSAGE", request.GetString() );
break;
case ACSERR_UNKNOWN:
cs->Format( "%s failed: ACSERR_UNKNOWN", request.GetString() );
break;
case ACSERR_BADHDL:
cs->Format( "%s failed: ACSERR_BADHDL", request.GetString() );
break;
case ACSERR_STREAM_FAILED:
cs->Format( "%s failed: ACSERR_STREAM_FAILED", request.GetString() );
break;
case ACSERR_NOBUFFERS:
cs->Format( "%s failed: ACSERR_NOBUFFERS", request.GetString() );
break;
case ACSERR_QUEUE_FULL:
cs->Form
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -