[omniORB] Reserved word "factory"? / Wide strings

Duncan Grisby dgrisby@uk.research.att.com
Thu, 09 Mar 2000 14:03:23 +0000


On Thursday 9 March, Markus Redeker wrote:

> 1) Is there a new reserved word "factory" in omniORB v3? The IDL compiler
> doesn't accept a simple definition like this:
> 
> interface test
> {
> 	void foo(in string factory);
> };

Yes, factory is now a reserved word in CORBA 2.3. It's used by objects
by value. In your example above, you can simply change "factory" to
any other name, since the name of a parameter is not significant. In
the case of IDL like

  interface factory { ... };

where the name "factory" is important, you can prefix the name with an
underscore like

  interface _factory { ... };

which is treated exactly as if you had written just "factory", except
that it isn't checked for keyword clashes. With the new underscore
escapes, you can do ghastly things like

  interface _long { ... };

which declares a new interface named "long"!  Don't do that!

> 2) What happened to wide strings? omniORB2 accepts the type wstring but
> omniORB3 doesn't.

omniORB does not yet support wstring. No version ever has.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --