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

From Apache OpenOffice Wiki
< Uno‎ | Spec
Jump to: navigation, search
m (Added category.)
(Reworked.)
Line 2: Line 2:
 
type:    specification<br>
 
type:    specification<br>
  
 +
== Environment Stack ==
  
Environment Stack
+
=== Feature ===
 +
The [[../Runtime]] allows to enter / leave an [[../Environment]], respectively to invoke functions in a particular [[../Environment]].
  
Feature:
+
=== Rationale ===
  Objects of a particular environment are
+
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.
  manipulatable through this environment while
+
  ignoring the current environment stack.
+
  
 +
=== 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>invoke</code> - Invokes the passed function in the given [[../Environment]].
 +
* <code>enter</code> - Enters the given [[../Environment]]. [[../Environment]] can be left by entering another [../
 +
Eenvironment]].
 +
* <code>isValid</code> - 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 Affinity Bridge | thread affine environment]] does not allow to be entered, while it already has a thread associated.
  
Rationale:
 
  
 
[[Category:Uno:Spec]]
 
[[Category:Uno:Spec]]

Revision as of 12:03, 15 June 2006

state: draft
type: specification

Environment Stack

Feature

The Uno/Spec/Runtime allows to enter / leave an Uno/Spec/Environment, respectively to invoke functions in a particular Uno/Spec/Environment.

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