Uno/Spec/Environment Stack
From Apache OpenOffice Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Type: specification State: draft Claim: recommended
Feature
The Runtime allows to enter / leave a particular purpose environment, respectively to invoke functions in a particular Purpose Environment. The current (purpose) environment does not only vary with the languages OBI (e.g. Java or C++), but also with the executed codes declared purpose type.
Rationale
Operations may need to be associated with the environment(s) of a particular object. Such operations may set thread related global variables (e.g. the component- or current-context) or may acquire mutexes.
API
- get the current environment - Provides the current active environment, in case no environment has been entered, the Thread safe environment is returned.
- invoke - Invokes the passed function in the given environment.
- enter - Enters the given environment. environment can be left by entering another environment.
- isValid - Checks if the passed environment is active, so that objects belonging to this environment may be called.
Comment
The enter / leave functionality may not be appropriate for all environments at all times. E.g. the thread affine environment does not allow to be entered, while it already has a thread associated.