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

📄 megaco_text_gen_v1.hrl

📁 OTP是开放电信平台的简称
💻 HRL
📖 第 1 页 / 共 5 页
字号:
	_ ->	    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 + -