//
//   COMPONENT_NAME: somi
//
//   ORIGINS: 27
//
//
//   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
//   All Rights Reserved
//   Licensed Materials - Property of IBM
//   US Government Users Restricted Rights - Use, duplication or
//   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//  ConstantDef: CORBA Interface for constant definitions
//  See CORBA 7.5.9, p.137
#ifndef constdef_idl
#define constdef_idl
#include <containd.idl>
#include <somcls.idl>
// CORBA 7.5.9, p.137
interface ConstantDef : Contained
{
    struct ConstantDescription {
	Identifier    name;
	RepositoryId  id;
	RepositoryId  defined_in;
	TypeCode      type;
	any	      value;
    };
    // The inherited describe method returns an instance of this
    // (ConstantDescription) structure in the "value" member of the
    // Description structure defined in the Contained interface.
    attribute TypeCode type;
    // The TypeCode of the receiving object.  The memory used to hold
    // the TypeCode is contained in the receiving object, which retains
    // ownership.  Hence, do not free the returned TypeCode.  If you want
    // to obtain a separate copy, use the TypeCode_copy operation.
    attribute any value;
    // The value of the receiving constant object;
    // "value" is an any carrying a string per CORBA 7.5.9 p. 123
#ifdef __SOMIDL__
  implementation {
      releaseorder: _get_type,_set_type,_get_value,_set_value;
      callstyle = idl;
      majorversion = 2;
      minorversion = 1;
      filestem = constdef;
      dllname = "somir.dll";
      passthru C_h =
	""
	"    #include <somtcnst.h>"
	"    #include <somir.h>"
	"    #include <containd.h>"
	"";
      passthru C_xh =
	""
	"    #include <somtcnst.xh>"
	"    #include <somir.xh>"
	"    #include <containd.xh>"
	"";
      type: nodata;
      value: nodata;
      somInit: override;
      somUninit: override;
      somDumpSelf: override;
      somDumpSelfInt: override;
      describe: override;
  };
#endif /* __SOMIDL__ */
};
#endif	/* constdef_idl */
