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

#ifndef __org_omg_PortableInterceptor_CurrentOperations__
#define __org_omg_PortableInterceptor_CurrentOperations__

#pragma interface

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

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

public:
  virtual ::org::omg::CORBA::Any * get_slot(jint) = 0;
  virtual void set_slot(jint, ::org::omg::CORBA::Any *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __org_omg_PortableInterceptor_CurrentOperations__
