diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index e3c4b019a83d2594d8838d8845d8f7807ae1726f..fc47358de64057981a9af979ef2678bec1138b79 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -65,8 +65,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { e_mca_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { e_mca_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; activate(a_default()); vc_aeSimu := activate(a_cse_cf01()); @@ -126,8 +126,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE2.mcaPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE2.mcaPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { e_mca_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE2.mcaPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { e_mca_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE2.mcaPortIn.serialization)] }; //Initialze the IUT @@ -180,8 +180,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { e_mca_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { e_mca_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; activate(a_default()); vc_aeSimu := activate(a_cse_cf02_ae1()); @@ -239,8 +239,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { mccPortIn, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { e_mcc_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { e_mcc_in_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; v_cSEBaseResource := f_generateLocalResource(-, -1, int5); vc_cSEBaseIndex := f_setLocalResource(v_cSEBaseResource, int5, -1); @@ -301,8 +301,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { mccPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { e_mcc_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { e_mcc_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; activate(a_default()); vc_cseSimu := activate(a_cse_cf02_cse1()); @@ -355,8 +355,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { e_mca_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { e_mca_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] }; //Initialze the IUT @@ -411,8 +411,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_port))] := { e_mca_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mca_in_port))] := { e_mca_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPortIn.serialization)] }; if(PX_UT_IMPLEMENTED) { map(self:utPort, system:utPort) param (PX_TS_UT); @@ -477,8 +477,8 @@ module OneM2M_Functions { v_binding_in := "WSCK"; } - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; - vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { mccPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_port))] := { e_mcc_port, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] }; + vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcc_in_port))] := { e_mcc_in_port, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] }; activate(a_default()); vc_cseSimu := activate(a_cse_cf04()); @@ -6011,14 +6011,14 @@ module OneM2M_Functions { if((valueof(p_msgOut.primitive.requestPrimitive.resourceType) != int2) and (valueof(p_msgOut.primitive.requestPrimitive.resourceType) != int16)){ //Modify default topic to publish a non-registration message f_sendAcPrimitive("MqttSetDefaultTopicToNotRegistration", -1, valueof(p_msgOut.primitive.requestPrimitive.from_)); - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); f_sendAcPrimitive("MqttSetDefaultTopicToRegistration", -1); return; } } else {//RETRIEVE - UPDATE - DELETE - NOTIFY //Modify default topic to publish a non-registration message f_sendAcPrimitive("MqttSetDefaultTopicToNotRegistration", -1, valueof(p_msgOut.primitive.requestPrimitive.from_)); - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); f_sendAcPrimitive("MqttSetDefaultTopicToRegistration", -1); return; } @@ -6026,7 +6026,27 @@ module OneM2M_Functions { } } //TODO: Handle response to normal messages before CSE registration occurs - vc_myInterfaces[enum2int(p_interfaceIds)].myPort.send(p_msgOut); + f_sendWrapper(p_interfaceIds, p_msgOut); + } + + function f_sendWrapper(in InterfaceIds p_interfaceIds,in template MsgOut p_msgOut) runs on Tester { + + select (p_interfaceIds) { + + case (e_mca_port) { + mcaPort.send(p_msgOut); + } + case (e_mca_in_port) { + mcaPortIn.send(p_msgOut); + } + case (e_mcc_port) { + mccPort.send(p_msgOut); + } + case (e_mcc_in_port) { + mccPortIn.send(p_msgOut); + } + } + } /** diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn index fe3b31aa6366f1aa0ec20a90e71b2d88fb9cb94a..d2f625fe371f5b80bfc56d79f4138e2e4c141871 100644 --- a/LibOneM2M/OneM2M_TestSystem.ttcn +++ b/LibOneM2M/OneM2M_TestSystem.ttcn @@ -28,7 +28,7 @@ module OneM2M_TestSystem { } type record Interface { - OneM2MPort myPort, + InterfaceIds myPort, charstring myHost, charstring myProtocolBinding, charstring mySerialization @@ -41,6 +41,11 @@ module OneM2M_TestSystem { port AdapterControlPort acPort; port InfoPort infoPort; port UpperTesterPort utPort; + //Ports for AeSimu/CseSimu + port OneM2MPort mcaPort; + port OneM2MPort mcaPortIn; + port OneM2MPort mccPort; + port OneM2MPort mccPortIn; //Common timers timer tc_ac := PX_TAC; timer tc_wait := PX_TWAIT; @@ -70,9 +75,6 @@ module OneM2M_TestSystem { //Attached components depending on config var AeSimu vc_ae2; var CseSimu vc_cse1;//For CF02 when AeSimu is master - //Ports - port OneM2MPort mcaPort; - port OneM2MPort mcaPortIn; //global variables //About configuration of the component //Resource Index @@ -84,11 +86,6 @@ module OneM2M_TestSystem { type component CseSimu extends Tester { //Attached components depending on config var AeSimu vc_ae1;//For CF02 when CseSimu is master - //Ports - port OneM2MPort mcaPort; - port OneM2MPort mcaPortIn; - port OneM2MPort mccPort; - port OneM2MPort mccPortIn; //global variables //About configuration of the component var CseTypeID vc_cseType; //cseType of the simulated CSE. IN =1, MN = 2