On Mon, Mar 03, 2008 at 05:27:46PM -0500, Reed Hedges wrote:

> I was under the impression that, for the most part, you are always going 
> to be working through Wrapper objects.  Is this true?

The ultimate purpose of the wrappers is support marshaling for cross-language 
and 
cross-host method calls.  Since C++ doesn't have a built in interception 
facility, you have to 
insert some stub code in between the caller and the target.  One way to do this 
would be remote 
objects like we had in s4, but that doesn't handle the 
cross-language/cross-thread cases very 
well.  Instead, s5 has very lightweight wrappers which manage access to the 
underlying object.

So yes, in normal code you almost always want to be working through the wrapper 
classes, since 
they make everything else work (marshaling, reference counting, promises).

I'm willing to entertain naming schemes other than "-Wrapper", I just don't 
want it to be the 
stem name for the simple reason that due to the semantics of C++ it would be 
ambigious whether 
you are working with a smart pointer or a copy of the actual object.  Possible 
alternatives:

 VobjectWrapper
 VobjectHandle
 VobjectStub
 VobjectPtr
 VobjectRef

-- 
[ Peter Amstutz ][ [EMAIL PROTECTED] [EMAIL PROTECTED]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to