NAME

CORBA::Object::get_interface - (operation) returns the interface repository object describing an object's interface


SYNOPSIS

IDL

  module CORBA
    {
    interface Object
      {
      InterfaceDef get_interface ( ) ;
      } ;
    } ;

C

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

C++

  #include <orb.h>
  namespace CORBA
    {
    class Object
      {
      public:
          InterfaceDef_ptr _get_interface ( ) ;
      } ;
    } ;

Java

  package org.omg.CORBA ;
  public interface Object
    {
    InterfaceDef _get_interface ( ) ;
    org.omg.CORBA.Object _get_interface_def ( ) ;
    }

Perl

(TBS)

Lisp

(TBS)


DESCRIPTION

The CORBA::Object::get_interface operation returns the interface repository object (of type CORBA::InterfaceDef) describing the target object's interface.


PARAMETERS

o

(C mapping only) the target object

ev

(C mapping only) a pointer to the CORBA_Environment


RETURN VALUE

The CORBA::InterfaceDef repository object describing the object's interface.


EXCEPTIONS

(standard system exceptions)


NOTES

  1. The Reflection module provides an alternative but similar functionality. Unlike the get_interface operation, which depends on the interface repository and is implemented by the ORB, the Reflection functionality resides in the objects themselves, and is part of the object's implementation.

  2. (Java mapping only) The _get_interface() operation is deprecated. Applications are advised to use the _get_interface_def() operation instead.

    The _get_interface_def() operation returns the InterfaceDef as a CORBA::Object, and the invoker of _get_interface_def() must narrow the CORBA::Object to an InterfaceDef in order to use it.

  3. (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.

  4. (C++ mapping only) The C++ mapping of names may vary, depending on the implementation's support for nested classes and namespaces. The rules are:

        if C++ namespace is supported,
            then map IDL module to C++ namespace
        else if C++ nested classes are supported,
            then map IDL module to a C++ class
        else
            use the C mapping for names

    The C++ synopsis, above, assumes namespace support. For other situations, adjust accordingly.


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.