Diff of /trunk/mqttsparkplug/mqttsparkplug/Sparkplug™ MQTT edge and host/Function Blocks/FB_PrimaryHost/FB_PrimaryHost/PoolManager/allocGroupId/svnobj [r894] .. [r895]  Maximize  Restore

Switch to side-by-side view

--- a/trunk/mqttsparkplug/mqttsparkplug/Sparkplug™ MQTT edge and host/Function Blocks/FB_PrimaryHost/FB_PrimaryHost/PoolManager/allocGroupId/svnobj
+++ b/trunk/mqttsparkplug/mqttsparkplug/Sparkplug™ MQTT edge and host/Function Blocks/FB_PrimaryHost/FB_PrimaryHost/PoolManager/allocGroupId/svnobj
@@ -1,30 +1,45 @@
-Gx_l
-!0…jüoQ P毑Pz)System.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
-longTagText
h// steal an object from the pool and assign its nameTIF NOT THIS^._groupIDPool.ListIsEmpty THEN²    _itfElement := THIS^._groupIDs.AppendElem( THIS^._groupIDPool.HeadElem ); //Steal it!l    IF __QUERYPOINTER( _itfElement, _fb_groupid ) THENJ        _fb_groupid^.Name := GroupId;X        allocGroupID      REF= _fb_groupid^;
-	ELSEZ		eError := ERROR.HostNotEnoughBlankGroupIDs;b		allocGroupID REF= GVL_sparkplug.InvalidGroupID;	END_IFELSEX	eError := ERROR.HostNotEnoughBlankGroupIDs;`	allocGroupID REF= GVL_sparkplug.InvalidGroupID;END_IFInterfaceL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}r// Will try to allocate a new GroupID with the given nameZMETHOD allocGroupID : REFERENCE TO FB_GroupIDVAR_IN_OUT ,    GroupID : WSTRING;!END_VAR"VAR_OUTPUT#&    eError : ERROR;$VAR%6    _itfElement : IElement;&P    _fb_groupid : POINTER TO FB_GroupID;ÐÐÐEÐÐ	
-­%ÚÐ-
ÐÐ	
-­&ÚÐ-ÐÐ	
-­'ÚÐ-ÐÐ	
-­(ÚÐ-ÐÐ	
-­*ÚÐ-ÐÐ	
-­+ÚÐ-ÐÐ	
-­1ÚÐ-ÐÐ	
-­2ÚÐ-ÐÐ	
-­3ÚÐ-ÐÐ	
-­0ÚÐ-ÐÐ	
-­-ÚÐ-ÐÐ	
-­.ÚÐ-ÐÐ	
-­/ÚÐ-ÐÐ	
-­	ÚÐ-ÐÐEÐÐ	
-­ÚÐ-ÐÐ	
-­ÚÐ-ÐÐ	
-­ÚÐ-ÐÐ	
-­ÚÐ- ÐÐ	
-­ÚÐ-!ÐÐ	
-­ÚÐ-"ÐÐ	
-­ ÚÐ-#ÐÐ	
-­!ÚÐ-!ÐÐ	
-­"ÚÐ-$ÐÐ	
-­#ÚÐ-%ÐÐ	
-­$ÚÐ-&ÐÐ	
-­ÚÐ-!
\ No newline at end of file
+Gx_lD!0…jüoÃJÕû»ÁúSystem.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
+longTagText
h// steal an object from the pool and assign its nameTIF NOT THIS^._groupIDPool.ListIsEmpty THEN°    itfElement := THIS^._groupIDs.AppendElem( THIS^._groupIDPool.HeadElem ); //Steal it!j    IF __QUERYPOINTER( itfElement, pfb_groupid ) THENJ        pfb_groupid^.Name := GroupId;X        allocGroupID      REF= pfb_groupid^;
+	ELSEJ		newObjectFromThinAirPlease := TRUE;	END_IFELSEH	newObjectFromThinAirPlease := TRUE;END_IFDIF newObjectFromThinAirPlease THENb	//No object? No worries, we will just create one 	pfb_groupid := _GroupIDFactory.Create(itfData := initData, eError => FBFError);2	IF pfb_groupid <> 0 THENV		THIS^._groupIDs.AppendElem(pfb_groupid^);>		pfb_groupid^.Name := GroupId; ž		//No need to add it to the pool... we add it instead when we assign the owner!Z		eError := ERROR.HostNotEnoughBlankGroupIDs;"b		allocGroupID REF= GVL_sparkplug.InvalidGroupID;#Interface$L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}%r// Will try to allocate a new GroupID with the given name&ZMETHOD allocGroupID : REFERENCE TO FB_GroupID'VAR_IN_OUT(,    GroupID : WSTRING;)END_VAR*VAR_OUTPUT+&    eError : ERROR;,VAR-T    itfElement                 : IElement;.n    pfb_groupid                : POINTER TO FB_GroupID;/P	initData                   : DummyData;0P	FBFError                   : FBF.ERROR;1F	newObjectFromThinAirPlease : BOOL;ÐÐÐEÐÐ	
+­bÚÐ-
ÐÐ	
+­cÚÐ-ÐÐ	
+­dÚÐ-ÐÐ	
+­eÚÐ-ÐÐ	
+­fÚÐ-ÐÐ	
+­gÚÐ-ÐÐ	
+­hÚÐ-ÐÐ	
+­iÚÐ-ÐÐ	
+­kÚÐ-ÐÐ	
+­lÚÐ-ÐÐ	
+­mÚÐ-ÐÐ	
+­	ÚÐ-ÐÐ	
+­pÚÐ-ÐÐ	
+­zÚÐ-ÐÐ	
+­{ÚÐ-ÐÐ	
+­|ÚÐ-ÐÐ	
+­}ÚÐ-ÐÐ	
+­‰ÚÐ-ÐÐ	
+­~ÚÐ-ÐÐ	
+­ˆÚÐ-ÐÐ	
+­€ÚÐ- ÐÐ	
+­…ÚÐ-ÐÐ	
+­†ÚÐ-!ÐÐ	
+­‡ÚÐ-"ÐÐ	
+­„ÚÐ-ÐÐ	
+­qÚÐ-ÐÐ	
+­oÚÐ-Ð#$ÐEÐÐ	
+­TÚÐ-%ÐÐ	
+­UÚÐ-&ÐÐ	
+­VÚÐ-'ÐÐ	
+­WÚÐ-(ÐÐ	
+­XÚÐ-)ÐÐ	
+­YÚÐ-*ÐÐ	
+­ZÚÐ-+ÐÐ	
+­[ÚÐ-)ÐÐ	
+­\ÚÐ-,ÐÐ	
+­]ÚÐ--ÐÐ	
+­^ÚÐ-.ÐÐ	
+­_ÚÐ-/ÐÐ	
+­`ÚÐ-0ÐÐ	
+­aÚÐ-1ÐÐ	
+­ÚÐ-)
\ No newline at end of file