NAME

CORBA::Object::duplicate - (operation) make a copy of an object reference


SYNOPSIS

IDL

  module CORBA
    {
    interface Object
      {
      Object duplicate ( ) ;
      } ;
    } ;

C

  #include <orb.h>
  CORBA_Object CORBA_Object_duplicate
      ( CORBA_Object o,
      CORBA_Environment * ev ) ;

C++

  #include <orb.h>
  class A // for every defined interface A
    {
      public:
        static A_ptr _duplicate ( A_ptr obj ) ;
    } ;

Java

  package org.omg.CORBA ;
  public interface Object
    {
    org.omg.CORBA.Object _duplicate ( ) ;
    }

Perl

(TBS)

Lisp

(TBS)


DESCRIPTION

The CORBA::Object::duplicate operation makes a copy of an object reference. Object references are, in general, opaque to applications, so this operation is required when copies are needed.

This operation duplicates the reference, not the object itself. It is local, and does not involve the object implementation.


PARAMETERS

o

(C mapping only) the target object

ev

(C mapping only) a pointer to the CORBA_Environment


RETURN VALUE

A duplicate reference to the same object.


EXCEPTIONS

(standard system exceptions)


NOTES

  1. The storage or other resources used by the reference may be reclaimed with the release operation.

  2. The object implementation cannot distinguish between an invocation using the original reference, and an invocation using a duplicate reference.

  3. (C++ mapping only) The _duplicate operation is defined as a static operation on every interface. If the reference is nil, then the operation returns a reference to the nil object.

  4. (C++ mapping only) The IDL header is named orb.idl. The C++ mapping specification does not mention a specific header name. One might presume the header name should be orb.h. However, some ORB vendors are more imaginative, and use other, different header file names.


SEE ALSO

CORBA::Object(3corba)


COPYRIGHT

Copyright 2012 Michael Marking. This document is distributed as part of corbadoc, a documentation-only package with the goal of describing the main CORBA-related definitions from the OMG specifications. This is version corbadoc-0.1.3-prototype, released 2011.12.23. corbadoc is an incomplete work in progress; this is a snapshot release. New releases will be posted at http://www.tatanka.com/software/corbadoc/.

The corbadoc documents, including this one, are licensed under the GNU Free Documentation License, v.1.3.