Difference between revisions of "Uno/Spec/Environment Stack"
From Apache OpenOffice Wiki
m (→Feature: Moved text from Uno/Spec/Threading Model here.) |
m (Somewhat polished.) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Type: specification State: draft Claim: recommended | |
− | + | ||
− | == | + | ==Feature== |
+ | The [[../Runtime|Runtime]] allows to enter / leave a particular [[../Purpose Environment|purpose environment]], respectively to invoke functions in a particular [[../Purpose Environment|Purpose Environment]]. The current (purpose) environment does not only vary with the languages [[Uno/Term/Object Binary Interface|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|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|environment]], in case no [[../Environment|environment]] has been entered, the [[../Thread Affinity Bridge|Thread safe environment]] is returned. | |
+ | * '''invoke''' - Invokes the passed function in the given [[../Environment|environment]]. | ||
+ | * '''enter''' - Enters the given [[../Environment|environment]]. [[../Environment|environment]] can be left by entering another [[../Environment|environment]]. | ||
+ | * '''isValid''' - Checks if the passed [[../Environment|environment]] is active, so that objects belonging to this [[../Environment|environment]] may be called. | ||
− | + | ==Comment== | |
− | + | The enter / leave functionality may not be appropriate for all environments at all times. E.g. the [[../Thread Affinity Bridge|thread affine environment]] does not allow to be entered, while it already has a thread associated. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | The enter / leave functionality may not be appropriate for all environments at all times. E.g. the [[../Thread Affinity Bridge | thread affine environment]] does not allow to be entered, while it already has a thread associated. | + | |
+ | [[Category:Draft]] | ||
+ | [[Category:Spec]] | ||
+ | [[Category:Uno]] | ||
[[Category:Uno:Spec]] | [[Category:Uno:Spec]] |
Latest revision as of 09:05, 13 February 2007
Type: specification State: draft Claim: recommended
Contents
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.