📄 megaco_text_gen_v1.hrl
字号:
_ -> error({invalid_TransactionReply_transactionResult_tag, Tag}) end.enc_TransactionReply_transactionResult_actionReplies({'TransactionReply_transactionResult_actionReplies',Val}, State) -> enc_TransactionReply_transactionResult_actionReplies(Val, State);enc_TransactionReply_transactionResult_actionReplies([Mand], State) -> [enc_ActionReply(Mand, State)];enc_TransactionReply_transactionResult_actionReplies([Mand | Opt], State) -> [enc_ActionReply(Mand, State), [[?COMMA_INDENT(State), enc_ActionReply(Val, State)] || Val <- Opt]].enc_ErrorDescriptor(#'ErrorDescriptor'{errorText = asn1_NOVALUE, errorCode = Code}, State) -> [ ?ErrorToken, ?EQUAL, enc_ErrorCode(Code, State), ?LBRKT, ?RBRKT ];enc_ErrorDescriptor(#'ErrorDescriptor'{errorText = Text, errorCode = Code}, State) -> [ ?ErrorToken, ?EQUAL, enc_ErrorCode(Code, State), ?LBRKT, enc_ErrorText(Text, State), ?RBRKT ].enc_ErrorCode({'ErrorCode',Val}, State)-> enc_ErrorCode(Val, State);enc_ErrorCode(Val, State) -> enc_DIGIT(Val, State, 0, 999).enc_ErrorText({'ErrorText',Val}, State) -> enc_ErrorText(Val, State);enc_ErrorText(Val, State) -> enc_QUOTED_STRING(Val, State).enc_ContextID({'ContextID',Val}, State) -> enc_ContextID(Val, State);enc_ContextID(Val, State) -> case Val of ?megaco_all_context_id -> $*; ?megaco_null_context_id -> $-; ?megaco_choose_context_id -> $$; Int when integer(Int) -> enc_UINT32(Int, State) end.enc_ActionRequest(Bin, _State) when is_binary(Bin) -> [Bin]; %% Already encoded...enc_ActionRequest(Val, State) when record(Val, 'ActionRequest') -> [ ?CtxToken, ?EQUAL, enc_ContextID(Val#'ActionRequest'.contextId, State), ?LBRKT_INDENT(State), enc_list([{[Val#'ActionRequest'.contextAttrAuditReq], fun enc_ContextAttrAuditRequest/2}] ++ decompose_ContextRequest(Val#'ActionRequest'.contextRequest) ++ [{Val#'ActionRequest'.commandRequests, fun enc_CommandRequest/2}], ?INC_INDENT(State)), ?RBRKT_INDENT(State) ].%% OTP-5085enc_ActionReply(#'ActionReply'{contextId = Id, errorDescriptor = ED, contextReply = CtxRep, commandReply = CmdRep}, State) -> [ ?CtxToken, ?EQUAL, enc_ContextID(Id, State), ?LBRKT_INDENT(State), do_enc_ActionReply(ED, CtxRep, CmdRep, State), ?RBRKT_INDENT(State) ].do_enc_ActionReply(asn1_NOVALUE, CtxRep, CmdRep, State) when CtxRep =/= asn1_NOVALUE; CmdRep =/= [] -> [ enc_list(decompose_ContextRequest(CtxRep) ++ [{CmdRep, fun enc_CommandReply/2}], ?INC_INDENT(State)) ];do_enc_ActionReply(ED, CtxRep, CmdRep, State) when CtxRep =/= asn1_NOVALUE; CmdRep =/= [] -> [ enc_list(decompose_ContextRequest(CtxRep) ++ [{CmdRep, fun enc_CommandReply/2}, {[ED], fun enc_ErrorDescriptor/2}], % Indention cosmetics ?INC_INDENT(State)) ];do_enc_ActionReply(ED, asn1_NOVALUE, [], State) -> [ enc_ErrorDescriptor(ED, ?INC_INDENT(State)) ]. decompose_ContextRequest(asn1_NOVALUE) -> [{[], dummy}] ;decompose_ContextRequest(Val) when record(Val, 'ContextRequest') -> OptPriority = case Val#'ContextRequest'.priority of asn1_NOVALUE -> {[], dummy}; Prio -> {[Prio], fun enc_priority/2} end, OptEmergency = case Val#'ContextRequest'.emergency of asn1_NOVALUE -> {[], dummy}; false -> {[], dummy}; true -> {[?EmergencyToken], fun(Elem, _) -> Elem end} end, OptTopologyReq = case Val#'ContextRequest'.topologyReq of asn1_NOVALUE -> {[], dummy}; {'ContextRequest_topologyReq', asn1_NOVALUE} -> {[], dummy}; {'ContextRequest_topologyReq', List} -> {List, fun enc_TopologyRequest/2}; List -> {[List], fun enc_TopologyRequest/2} end, [OptPriority, OptEmergency, OptTopologyReq].enc_priority(Val, State) -> [ ?PriorityToken, ?EQUAL, enc_UINT16(Val, State) ].enc_ContextAttrAuditRequest(Val, State) when record(Val, 'ContextAttrAuditRequest') -> [ ?ContextAuditToken, ?LBRKT_INDENT(State), enc_list([{[Val#'ContextAttrAuditRequest'.topology], fun('NULL', _) -> ?TopologyToken end}, {[Val#'ContextAttrAuditRequest'.emergency], fun('NULL', _) -> ?EmergencyToken end}, {[Val#'ContextAttrAuditRequest'.priority], fun('NULL', _) -> ?PriorityToken end}], ?INC_INDENT(State)), ?RBRKT_INDENT(State) ].enc_CommandRequest(#'CommandRequest'{optional = asn1_NOVALUE, wildcardReturn = asn1_NOVALUE, command = Cmd}, State) -> [ enc_Command(Cmd, State) ];enc_CommandRequest(#'CommandRequest'{optional = 'NULL', wildcardReturn = asn1_NOVALUE, command = Cmd}, State) -> [ "O-", enc_Command(Cmd, State) ]; enc_CommandRequest(#'CommandRequest'{optional = asn1_NOVALUE, wildcardReturn = 'NULL', command = Cmd}, State) -> [ "W-", enc_Command(Cmd, State) ]; enc_CommandRequest(#'CommandRequest'{optional = 'NULL', wildcardReturn = 'NULL', command = Cmd}, State) -> [ "O-", "W-", enc_Command(Cmd, State) ]. enc_Command({'Command',Val}, State) -> enc_Command(Val, State);enc_Command({Tag, Val}, State) -> case Tag of addReq -> [?AddToken, enc_AmmRequest(Val, State)]; moveReq -> [?MoveToken, enc_AmmRequest(Val, State)]; modReq -> [?ModifyToken, enc_AmmRequest(Val, State)]; subtractReq -> [?SubtractToken, enc_SubtractRequest(Val, State)]; auditCapRequest -> [?AuditCapToken, enc_AuditRequest(Val, State)]; auditValueRequest -> [?AuditValueToken, enc_AuditRequest(Val, State)]; notifyReq -> [?NotifyToken, enc_NotifyRequest(Val, State)]; serviceChangeReq -> [?ServiceChangeToken, enc_ServiceChangeRequest(Val, State)]; _ -> error({invalid_Command_tag, Tag}) end.enc_CommandReply({'CommandReply',Val}, State) -> enc_CommandReply(Val, State);enc_CommandReply({Tag, Val}, State) -> case Tag of addReply -> [?AddToken, enc_AmmsReply(Val, State)]; moveReply -> [?MoveToken, enc_AmmsReply(Val, State)]; modReply -> [?ModifyToken, enc_AmmsReply(Val, State)]; subtractReply -> [?SubtractToken, enc_AmmsReply(Val, State)]; auditCapReply -> [?AuditCapToken, enc_AuditReply(Val, State)]; auditValueReply -> [?AuditValueToken, enc_AuditReply(Val, State)]; notifyReply -> [?NotifyToken, enc_NotifyReply(Val, State)]; serviceChangeReply -> [?ServiceChangeToken, enc_ServiceChangeReply(Val, State)]; _ -> error({invalid_CommandReply_tag, Tag}) end.enc_TopologyRequest(Val, State) when list(Val) -> [ ?TopologyToken, ?LBRKT_INDENT(State), enc_list([{Val, fun enc_TopologyRequest1/2}],?INC_INDENT(State)), ?RBRKT_INDENT(State) ].enc_TopologyRequest1(Val, State) when record(Val, 'TopologyRequest') -> [ fun(S) -> [ enc_TerminationID(Val#'TopologyRequest'.terminationFrom, S), ?COMMA_INDENT(S), enc_TerminationID(Val#'TopologyRequest'.terminationTo, S), ?COMMA_INDENT(S), case Val#'TopologyRequest'.topologyDirection of bothway -> ?BothwayToken; isolate -> ?IsolateToken; oneway -> ?OnewayToken end ] end(?INC_INDENT(State)) ].enc_AmmRequest(Val, State) when record(Val, 'AmmRequest') -> [ %% Assume that Token is added elsewhere ?EQUAL, enc_TerminationIDList1(Val#'AmmRequest'.terminationID, State), enc_opt_brackets( enc_list([{Val#'AmmRequest'.descriptors, fun enc_ammDescriptor/2}], ?INC_INDENT(State)), State) ].enc_ammDescriptor({Tag, Desc}, State) -> case Tag of mediaDescriptor -> enc_MediaDescriptor(Desc, State); modemDescriptor -> enc_ModemDescriptor(Desc, State); muxDescriptor -> enc_MuxDescriptor(Desc, State); eventsDescriptor -> enc_EventsDescriptor(Desc, State); eventBufferDescriptor -> enc_EventBufferDescriptor(Desc, State); signalsDescriptor -> enc_SignalsDescriptor(Desc, State); digitMapDescriptor -> enc_DigitMapDescriptor(Desc, State); auditDescriptor -> enc_AuditDescriptor(Desc, State); _ -> error({invalid_ammDescriptor_tag, Tag}) end.enc_AmmsReply(#'AmmsReply'{terminationID = ID, terminationAudit = asn1_NOVALUE}, State) -> [ ?EQUAL, enc_TerminationIDList1(ID, State) ];enc_AmmsReply(#'AmmsReply'{terminationID = ID, terminationAudit = []}, State) -> [ ?EQUAL, enc_TerminationIDList1(ID, State) ];enc_AmmsReply(#'AmmsReply'{terminationID = ID, terminationAudit = Res}, State) -> [ ?EQUAL, enc_TerminationIDList1(ID, State), case lists:flatten(enc_TerminationAudit(Res, ?INC_INDENT(State))) of [] -> []; L -> [ ?LBRKT_INDENT(State), L, ?RBRKT_INDENT(State) ] end ].enc_SubtractRequest(Val, State) when record(Val, 'SubtractRequest') -> [ %% Assume that Token is added elsewhere ?EQUAL, enc_TerminationIDList1(Val#'SubtractRequest'.terminationID, State), case Val#'SubtractRequest'.auditDescriptor of asn1_NOVALUE -> []; AuditDescr -> [ ?LBRKT_INDENT(State) , enc_AuditDescriptor(AuditDescr, ?INC_INDENT(State)), ?RBRKT_INDENT(State) ] end ]. enc_AuditRequest(Val, State) when record(Val, 'AuditRequest') -> [ %% Assume that Token is added elsewhere ?EQUAL, enc_TerminationIDList1([Val#'AuditRequest'.terminationID], State), case Val#'AuditRequest'.auditDescriptor of asn1_NOVALUE -> []; AuditDescr -> [ ?LBRKT_INDENT(State) , enc_AuditDescriptor(AuditDescr, ?INC_INDENT(State)), ?RBRKT_INDENT(State) ] end ]. %% auditReply = (AuditValueToken / AuditCapToken ) %% ( contextTerminationAudit / auditOther)%% auditOther = EQUAL TerminationID LBRKT %% terminationAudit RBRKT%% terminationAudit = auditReturnParameter *(COMMA auditReturnParameter) %% %% contextTerminationAudit = EQUAL CtxToken ( terminationIDList / %% LBRKT errorDescriptor RBRKT )enc_AuditReply({Tag, Val}, State) -> case Tag of contextAuditResult -> [ ?EQUAL, ?CtxToken, enc_TerminationIDListN(Val, State) ]; error -> [ ?EQUAL, ?CtxToken, ?LBRKT_INDENT(State), enc_ErrorDescriptor(Val, ?INC_INDENT(State)), ?RBRKT_INDENT(State) ]; auditResult when record(Val, 'AuditResult') -> enc_auditOther(Val, State); auditResult -> error({invalid_auditResult, Val}); _ -> error({invalid_AuditReply_tag, Tag}) end.enc_auditOther(#'AuditResult'{terminationID = ID, terminationAuditResult = asn1_NOVALUE}, State) -> [ ?EQUAL, enc_TerminationID(ID, State) ];enc_auditOther(#'AuditResult'{terminationID = ID, terminationAuditResult = []}, State) -> [ ?EQUAL, enc_TerminationID(ID, State) ];enc_auditOther(#'AuditResult'{terminationID = ID, terminationAuditResult = Res}, State) -> [ ?EQUAL, enc_TerminationID(ID, State), case lists:flatten(enc_TerminationAudit(Res, ?INC_INDENT(State))) of [] -> []; L -> [ ?LBRKT_INDENT(State), L, ?RBRKT_INDENT(State) ] end ]. enc_AuditDescriptor(#'AuditDescriptor'{auditToken = asn1_NOVALUE}, _State) -> [ ?AuditToken, [?LBRKT, ?RBRKT] ];enc_AuditDescriptor(#'AuditDescriptor'{auditToken = []}, _State) -> [ ?AuditToken, [?LBRKT, ?RBRKT] ];enc_AuditDescriptor(#'AuditDescriptor'{auditToken = List}, State) -> [ ?AuditToken, [ ?LBRKT_INDENT(State), enc_list([{List, fun enc_auditItem/2}], ?INC_INDENT(State)), ?RBRKT_INDENT(State) ] ].enc_auditItem(signalsToken, _State) -> ?SignalsToken;enc_auditItem(eventBufferToken, _State) -> ?EventBufferToken;enc_auditItem(eventsToken, _State) -> ?EventsToken;enc_auditItem(Val, State) -> enc_auditReturnItem(Val, State).enc_auditReturnItem(muxToken, _State) -> ?MuxToken;enc_auditReturnItem(modemToken, _State) -> ?ModemToken;enc_auditReturnItem(mediaToken, _State) -> ?MediaToken;enc_auditReturnItem(digitMapToken, _State) -> ?DigitMapToken;enc_auditReturnItem(statsToken, _State) -> ?StatsToken;enc_auditReturnItem(observedEventsToken, _State) ->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -