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

#ifndef __org_omg_CORBA_ContextList__
#define __org_omg_CORBA_ContextList__

#pragma interface

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

class org::omg::CORBA::ContextList : public ::java::lang::Object
{

public:
  ContextList();
  virtual void add(::java::lang::String *) = 0;
  virtual jint count() = 0;
  virtual ::java::lang::String * item(jint) = 0;
  virtual void remove(jint) = 0;
  static ::java::lang::Class class$;
};

#endif // __org_omg_CORBA_ContextList__
