//========================================================================== /// <summary> /// Returns the current value of owned properties /// </summary> //========================================================================== public override void readProperty(int propertyID, uint requestorID, ref TPropertyInfo aValue) { TMainOutputSpecifier outputItem; uint i; switch (propertyID) { case prpFILE: { aValue.setValue(FReporter.FileName); } break; case prpINTV: { aValue.setValue(FReporter.ReportInterval); } break; case prpUNIT: { aValue.setValue(TTimeValue.TIMETEXTS[FReporter.IntervalUnit - 1]); } break; case prpOUTS: { i = 0; aValue.setElementCount(0); outputItem = FReporter.getVariable(0); while (outputItem != null) { i++; aValue.setElementCount(i); aValue.item(i).member("varname").setValue(outputItem.sName); aValue.item(i).member("alias").setValue(outputItem.sAlias); aValue.item(i).member("decplaces").setValue(outputItem.iDecPl); aValue.item(i).member("aggreg").setValue(TGenericReporter.sAggregText[(int)outputItem.Aggreg]); outputItem = FReporter.getVariable(i); } } break; case prpSUMMARYFILE: { if (FSummaryStream != null) { aValue.setValue(propertyList[prpSUMMARYFILE].asStr()); } else { aValue.setValue(""); } } break; case prpAPSIMFMT: { aValue.setValue(FReporter.ApsimFMT); } break; case prpTITLE: { aValue.setValue(FReporter.Title); } break; case prpOUTFREQ: { aValue.setElementCount((uint)RegExtraEvents.Count); uint idx = 1; foreach (KeyValuePair <int, String> pair in RegExtraEvents) { aValue.item(idx).setValue(pair.Value); idx++; } } break; case prpDATEFMT: { aValue.setValue(FReporter.DateFMT); } break; } }
//========================================================================= /// <summary> /// Std properties are already taken care of in the parent class. /// Now do a look up of the specialised component properties. /// Parent class then sends this value in a ReplyValue msg. /// </summary> /// <param name="propertyID"></param> /// <param name="requestorID"></param> /// <param name="aValue">Return value is stored here.</param> //========================================================================= public override void readProperty(int propertyID, uint requestorID, ref TPropertyInfo aValue) { Comp.onQueryValue(propertyID, requestorID, ref aValue); }