
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __org_omg_PortableInterceptor_ORBInitializerOperations__
#define __org_omg_PortableInterceptor_ORBInitializerOperations__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace org
  {
    namespace omg
    {
      namespace PortableInterceptor
      {
          class ORBInitInfo;
          class ORBInitializerOperations;
      }
    }
  }
}

class org::omg::PortableInterceptor::ORBInitializerOperations : public ::java::lang::Object
{

public:
  virtual void pre_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0;
  virtual void post_init(::org::omg::PortableInterceptor::ORBInitInfo *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_omg_PortableInterceptor_ORBInitializerOperations__
