ReturnObject and ReturnInfoObject (Daemon subroutines)

From m204wiki
Revision as of 15:25, 26 November 2010 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Specify the objects returned to the master thread.

ReturnObject is a member of the Daemon class

These shared methods specify the output objects to be returned to the master thread. The difference between ReturnObject and ReturnInfoObject is that the former returns the value of the (unnamed) third argument of the Run Daemon function), while the latter returns the value of the named Info object of the Run method.

The ReturnInfoObject method was added in Sirius Mods Version 6.8.

ReturnObject and ReturnInfoObject Syntax

%(Daemon):ReturnObject(%outputObj)
%(Daemon):ReturnInfoObject(%outputObj)

Syntax Terms

%(Daemon)
The class name in parentheses denotes a shared method. Specifying %(Daemon): is not the only way to invoke the method (see :hdref refid=daemeth.).
%outputObj
The object returned from the daemon method object in the last Run method invocation. %outputObj must be deep copyable, as described in Copying objects.

Usage Notes

  • ReturnObject and ReturnInfoObject can only be issued on daemon threads.
  • You can invoke ReturnObject and ReturnInfoObject as many times as you want for a single Run call. Each subsequent invocation replaces the object from the previous invocation of the same method.
  • You can invoke ReturnObject even if Run has no output parameter, and you can invoke ReturninfoObject even if Run has no Info parameter. However, a class mismatch between the ReturnObject argument and the output argument in Run, or between the ReturnInfoObject argument and the Info argument in Run, causes request cancellation in the master thread at the time the daemon finishes and Run is about to return.