Difference between revisions of "Uno/Spec/Environment Stack"

From Apache OpenOffice Wiki
< Uno‎ | Spec
Jump to: navigation, search
m (Feature: Moved text from Uno/Spec/Threading Model here.)
m (Fixed: section level.)
Line 1: Line 1:
state:   draft <br>
+
State: draft <br>
type:   specification<br>
+
Type: specification<br>
  
== Environment Stack ==
+
==Feature==
 
+
=== Feature ===
+
 
The [[../Runtime|Runtime]] allows to enter / leave a particular [[../Purpose Environment|Purpose Environment]], respectively to invoke functions in the [[../Purpose Environment|Purpose Environment]]. The current (purpose) environment does not only vary with the languages ABI (e.g. Java or C++), but also with the executed codes declared purpose type.
 
The [[../Runtime|Runtime]] allows to enter / leave a particular [[../Purpose Environment|Purpose Environment]], respectively to invoke functions in the [[../Purpose Environment|Purpose Environment]]. The current (purpose) environment does not only vary with the languages ABI (e.g. Java or C++), but also with the executed codes declared purpose type.
  
=== Rationale ===
+
==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.
 
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 ===
+
==API==
 
* <code>getCurrentEnvironment</code> - Provides the current active [[../Environment]], in case no [[../Environment]] has been entered, the [[../Thread Affinity Bridge | Thread safe environment]] is returned.
 
* <code>getCurrentEnvironment</code> - Provides the current active [[../Environment]], in case no [[../Environment]] has been entered, the [[../Thread Affinity Bridge | Thread safe environment]] is returned.
 
* <code>invoke</code> - Invokes the passed function in the given [[../Environment]].
 
* <code>invoke</code> - Invokes the passed function in the given [[../Environment]].
Line 17: Line 15:
 
* <code>isValid</code> - Checks if the passed [[../Environment]] is active, so that objects belonging to this [[../Environment]] may be called.
 
* <code>isValid</code> - Checks if the passed [[../Environment]] is active, so that objects belonging to this [[../Environment]] may be called.
  
=== Comment ===
+
==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:Uno:Spec]]
 
[[Category:Uno:Spec]]

Revision as of 12:29, 1 September 2006

State: draft
Type: specification

Feature

The Runtime allows to enter / leave a particular Purpose Environment, respectively to invoke functions in the Purpose Environment. The current (purpose) environment does not only vary with the languages ABI (e.g. Java or C++), but also with the executed codes declared purpose type.

Rationale

Operations may need to be associated with the Uno/Spec/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

Eenvironment]].

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.

Personal tools