// $Id: convert.idl 89860 2010-04-13 08:52:01Z johnnyw $
/**
 * @file convert.idl
 * @author Jeff Parsons <j.parsons@vanderbilt.edu>
 *
 * Tests all conversions of IDL3 constructs to IDL2.
 */

#include <Components.idl>

eventtype eattype;
interface sface {};
interface pface {};
interface uface {};
interface umface {};

#if !defined (CCM_LW)
valuetype pkey : Components::PrimaryKeyBase
{
  public string info;
};
#endif

valuetype pubtype_base {};
eventtype pubtype : pubtype_base {};
eventtype emitype : pubtype {};
eventtype eattype {};

component CompBase supports sface
{
};

component CompDerived : CompBase
{
  provides pface pface_provider;
  uses uface uface_user;
  uses multiple umface umface_umuser;
  publishes pubtype pubtype_publisher;
  emits emitype emitype_emitter;
  consumes eattype eattype_consumer;
};

home CompBaseHome supports sface manages CompBase
{
};

#if !defined (CCM_LW)
home CompDerivedHome : CompBaseHome manages CompDerived primarykey pkey
{
  exception ch_except {};
  void ch_op () raises (ch_except);
  factory def_init ();
  finder kitchen_sink (in string uid, in pkey key, in boolean all)
    raises (ch_except);
};
#endif

