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

#ifndef __org_omg_CORBA_NVList__
#define __org_omg_CORBA_NVList__

#pragma interface

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

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

public:
  NVList();
  virtual ::org::omg::CORBA::NamedValue * add(jint) = 0;
  virtual ::org::omg::CORBA::NamedValue * add_item(::java::lang::String *, jint) = 0;
  virtual ::org::omg::CORBA::NamedValue * add_value(::java::lang::String *, ::org::omg::CORBA::Any *, jint) = 0;
  virtual jint count() = 0;
  virtual ::org::omg::CORBA::NamedValue * item(jint) = 0;
  virtual void remove(jint) = 0;
  static ::java::lang::Class class$;
};

#endif // __org_omg_CORBA_NVList__
