a/branches/develop/mqttsparkplug/mqttsparkplug/Sparkplug™ MQTT edge and host/Function Blocks/FB_PrimaryHost/FB_PrimaryHost/PoolManager/allocMetric/svnobj b/branches/develop/mqttsparkplug/mqttsparkplug/Sparkplug™ MQTT edge and host/Function Blocks/FB_PrimaryHost/FB_PrimaryHost/PoolManager/allocMetric/svnobj
1
Gx_l×!0…jüo   n]‚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
1
Gx_l!0…jüoüFÚ/á³àSSystem.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
2
longTagText
Ò// steal an object from the pool, register it with the Edge / Device / RemoteTemplate and assign its nameRIF NOT THIS^._MetricPool.ListIsEmpty THENä    _itfElement := THIS^._MetricPool.HeadElem.RemoveElem(); //Remove it, but now it is not part of a group anymorej    IF __QUERYPOINTER( _itfElement, _fb_Metric ) THENp        _fb_Metric^( itfMetricOwner := itfMetricOwner );J        allocMetric REF= _fb_Metric^;    ELSEX      eError := ERROR.HostNotEnoughBlankMetrics;^    allocMetric REF= GVL_sparkplug.InvalidMetric;   END_IFELSEV   eError := ERROR.HostNotEnoughBlankMetrics;\ allocMetric REF= GVL_sparkplug.InvalidMetric;END_IFInterfaceL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}p// Will try to allocate a new Metric with the given nameVMETHOD allocMetric : REFERENCE TO FB_MetricVAR_INPUT D    itfMetricOwner : IMetricOwner;!END_VAR"VAR_OUTPUT#&    eError : ERROR;$VAR%@    _itfElement      : IElement;&X    _fb_Metric       : POINTER TO FB_Metric;ÐÐÐEÐÐ  
2
longTagText
Ò// steal an object from the pool, register it with the Edge / Device / RemoteTemplate and assign its nameRIF NOT THIS^._MetricPool.ListIsEmpty THENâ    itfElement := THIS^._MetricPool.HeadElem.RemoveElem(); //Remove it, but now it is not part of a group anymoreh    IF __QUERYPOINTER( itfElement, pfb_Metric ) THENp        pfb_Metric^( itfMetricOwner := itfMetricOwner );J        allocMetric REF= pfb_Metric^;    ELSEJ      newObjectFromThinAirPlease := TRUE;   END_IFELSEH   newObjectFromThinAirPlease := TRUE;END_IFDIF newObjectFromThinAirPlease THENb //No metric? No worries, we will just create onež    pfb_Metric := _MetricsFactory.Create(itfData := initData, eError => FBFError);0 IF pfb_Metric <> 0 THENd      pfb_Metric^( itfMetricOwner := itfMetricOwner );D     allocMetric REF= pfb_Metric^; ž     //No need to add it to the pool... we add it instead when we assign the owner!d        eError := ERROR.HostNotEnoughBlankMetrics;"^    allocMetric REF= GVL_sparkplug.InvalidMetric;#    END_IF$Interface%L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}&p// Will try to allocate a new Metric with the given name'VMETHOD allocMetric : REFERENCE TO FB_Metric(VAR_INPUT)D    itfMetricOwner : IMetricOwner;*END_VAR+VAR_OUTPUT,&    eError : ERROR;-VAR.T    itfElement                 : IElement;/l    pfb_Metric                 : POINTER TO FB_Metric;0P initData                   : DummyData;1P   FBFError                   : FBF.ERROR;2F   newObjectFromThinAirPlease : BOOL;ÐÐÐEÐÐ  
3
­@ÚÐ-
ÐÐ  
3
­íÚÐ-
ÐÐ  
4
­AÚÐ-ÐÐ  
4
­îÚÐ-ÐÐ  
5
­BÚÐ-ÐÐ  
5
­ïÚÐ-ÐÐ  
6
­CÚÐ-ÐÐ  
6
­ðÚÐ-ÐÐ  
7
­EÚÐ-ÐÐ  
7
­ñÚÐ-ÐÐ  
8
­FÚÐ-ÐÐ  
8
­òÚÐ-ÐÐ  
9
­LÚÐ-ÐÐ  
9
­óÚÐ-ÐÐ  
10
­MÚÐ-ÐÐ  
10
­ôÚÐ-ÐÐ  
11
­NÚÐ-ÐÐ  
11
­õÚÐ-ÐÐ  
12
­GÚÐ-ÐÐ  
12
­öÚÐ-ÐÐ  
13
­IÚÐ-ÐÐ  
13
­÷ÚÐ-ÐÐ  
14
­JÚÐ-ÐÐ  
14
­øÚÐ-ÐÐ  
15
­KÚÐ-ÐÐ  
15
­ùÚÐ-ÐÐ  
16
­ÚÐ-ÐÐEÐÐ    
16
­úÚÐ-ÐÐ  
17
­ûÚÐ-ÐÐ  
18
­üÚÐ-ÐÐ  
19
­ýÚÐ-ÐÐ  
20
­þÚÐ-ÐÐ  
21
­ÿÚÐ-ÐÐ  
22
­ÚÐ- ÐÐ  
23
­ÚÐ-ÐÐ  
24
­ÚÐ-!ÐÐ  
25
­ÚÐ-"ÐÐ  
26
­ÚÐ-#ÐÐ  
27
­bÚÐ-Ð$%ÐEÐÐ    
28
­ßÚÐ-&ÐÐ  
29
­àÚÐ-'ÐÐ  
17
­HÚÐ-ÐÐ  
30
­áÚÐ-(ÐÐ  
18
­6ÚÐ-ÐÐ  
31
­âÚÐ-)ÐÐ  
19
­7ÚÐ-ÐÐ  
32
­ãÚÐ-*ÐÐ  
20
­8ÚÐ- ÐÐ  
33
­äÚÐ-+ÐÐ  
34
­åÚÐ-,ÐÐ  
21
­9ÚÐ-!ÐÐ  
35
­æÚÐ-*ÐÐ  
22
­:ÚÐ-"ÐÐ  
36
­çÚÐ--ÐÐ  
23
­;ÚÐ-#ÐÐ  
37
­èÚÐ-.ÐÐ  
24
­<ÚÐ-!ÐÐ  
38
­éÚÐ-/ÐÐ  
25
­=ÚÐ-$ÐÐ  
39
­êÚÐ-0ÐÐ  
26
­>ÚÐ-%ÐÐ  
40
­ëÚÐ-1ÐÐ  
27
­?ÚÐ-&ÐÐ  
41
­ìÚÐ-2ÐÐ  
28
­ÚÐ-!
42
­ÚÐ-*