summaryrefslogtreecommitdiff
path: root/ACE/TAO/tests/OBV/Supports/README
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/tests/OBV/Supports/README')
-rw-r--r--ACE/TAO/tests/OBV/Supports/README32
1 files changed, 32 insertions, 0 deletions
diff --git a/ACE/TAO/tests/OBV/Supports/README b/ACE/TAO/tests/OBV/Supports/README
new file mode 100644
index 00000000000..e708dff9ed8
--- /dev/null
+++ b/ACE/TAO/tests/OBV/Supports/README
@@ -0,0 +1,32 @@
+// $Id$
+
+The Supports_Test example tests the ability of valuetypes to support concrete
+interfaces. Valuetypes are manipulated both as normal valuetypes and as object
+references.
+
+Since operations of a supported interface are mapped to pure virtual methods in
+the valuetype (and are not inherited), an application using this feature should
+probably not define an implementation of the interface. Doing so will result in
+multiple implementations of the same method - one for objects of the interface,
+and one for valuetypes - and clients will have no way to distiguish between the
+two, other than narrowing objects of the interface type to the
+valuetype. Instead, one can leave the interface unimplemented, and only define
+implementations of its methods in the valuetype.
+
+The steps are as follows:
+
+1. Activate a POA in which the valuetype will reside and create the valuetype.
+2. Call the valuetype's "_this ()" method, which is inherited from the skeleton
+ class of the supported interface. This will return an active object reference
+ to an object that is the type of the supported interface.
+3. This object reference can be passed as a parameter and supports remote
+ operation invokations.
+
+Supports_Test checks proper operation of the following features:
+-Valuetypes that support concrete interfaces:
+ Using the same valuetype implementation, Supports_Test creates both
+ valuetypes and object references, passes them as parameters, and
+ invokes both local and remote calls.
+-ORB::register_value_factory () return values:
+ Supports_Test checks the return values of register_value_factory () to
+ ensure compliance with the spec.