diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn index 2ee083567f9a29b5cfd5028c34f64be94939e1f3..d6a9f9c6f346d2a6f06cdec5e4703df77d90c18a 100644 --- a/LibOneM2M/OneM2M_Functions.ttcn +++ b/LibOneM2M/OneM2M_Functions.ttcn @@ -1186,18 +1186,24 @@ module OneM2M_Functions { if (PX_RUN_POSTAMBLE) { - if(vc_config == e_cf02) { - if(vc_cse1.alive) { - f_cse_postamble_cse1(); - } - } - if(vc_auxiliaryAe2Up) { if (vc_ae2.alive) { f_cse_postamble_aeSimu(vc_ae2); } } + if(vc_config == e_cf02) { + if(vc_cse1.running) { + vc_cse1.stop; + } + if(vc_cse1.alive) { + f_connectInfoPort(vc_cse1); + f_cse_postamble_cse1(); + f_cse_defaultHandler_aeSimu(); + f_disconnectInfoPort(vc_cse1); + } + } + for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) { v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); @@ -1370,7 +1376,11 @@ module OneM2M_Functions { } } } - + if(vc_config == e_cf02) { + if(infoPort.checkstate("Connected")) { + infoPort.send(SyncPoints:e_done); + } + } } }//end group postambleFunctions @@ -2381,6 +2391,25 @@ module OneM2M_Functions { }// end f_cse_createResourceHandler + /** + * @desc Activate default for AeSimu + */ + function f_cse_defaultHandler_aeSimu() runs on AeSimu { + + //Activate defaults when running on a PTC + f_cse_activateDefaults_ae(); + + tc_ac.start; + alt { + [] infoPort.receive(OneM2M_Types.SyncPoints:e_done) { + log(__SCOPE__, "Peer component done") + } + [] tc_ac.timeout { + } + } + + }// end f_cse_defaultHandler_aeSimu + /** * @desc Creation of a local resource * @param p_resourceType Resource type of the resource to be created diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn index 7b0555d029a45957ccc69f72e8b052839fe3a8c7..481ddeb1c79e2c05fbaad9b3caa8ceba54e0eab0 100644 --- a/LibOneM2M/OneM2M_Ports.ttcn +++ b/LibOneM2M/OneM2M_Ports.ttcn @@ -48,9 +48,9 @@ module OneM2M_Ports { */ type port InfoPort message { in - RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID; + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID, SyncPoints; out - RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID; + RequestPrimitive, ResponsePrimitive, PrimitiveContent, MyResource, integer, XSD.ID, SyncPoints; } diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn index 76f6421de0698d7d2fbf26792a2cdf489245aa2a..30d82688f528b3f7739c83387dad999b46bd5feb 100644 --- a/LibOneM2M/OneM2M_Types.ttcn +++ b/LibOneM2M/OneM2M_Types.ttcn @@ -8755,6 +8755,11 @@ group InvalidTypes { group OtherTypes { + type enumerated SyncPoints { + e_done (0), + e_error (1) + } + type enumerated Configurations { e_cf01, e_cf02,