1. /*
  2. * @(#)_BindingIteratorImplBase.java 1.10 00/02/02
  3. *
  4. * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
  5. *
  6. * This software is the proprietary information of Sun Microsystems, Inc.
  7. * Use is subject to license terms.
  8. *
  9. */
  10. /*
  11. * File: ./org/omg/CosNaming/_BindingIteratorImplBase.java
  12. * From: nameservice.idl
  13. * Date: Tue Aug 11 03:12:09 1998
  14. * By: idltojava Java IDL 1.2 Aug 11 1998 02:00:18
  15. */
  16. package org.omg.CosNaming;
  17. public abstract class _BindingIteratorImplBase extends org.omg.CORBA.DynamicImplementation implements org.omg.CosNaming.BindingIterator {
  18. // Constructor
  19. public _BindingIteratorImplBase() {
  20. super();
  21. }
  22. // Type strings for this class and its superclases
  23. private static final String _type_ids[] = {
  24. "IDL:omg.org/CosNaming/BindingIterator:1.0"
  25. };
  26. public String[] _ids() { return (String[]) _type_ids.clone(); }
  27. private static java.util.Dictionary _methods = new java.util.Hashtable();
  28. static {
  29. _methods.put("next_one", new java.lang.Integer(0));
  30. _methods.put("next_n", new java.lang.Integer(1));
  31. _methods.put("destroy", new java.lang.Integer(2));
  32. }
  33. // DSI Dispatch call
  34. public void invoke(org.omg.CORBA.ServerRequest r) {
  35. switch (((java.lang.Integer) _methods.get(r.op_name())).intValue()) {
  36. case 0: // org.omg.CosNaming.BindingIterator.next_one
  37. {
  38. org.omg.CORBA.NVList _list = _orb().create_list(0);
  39. org.omg.CORBA.Any _b = _orb().create_any();
  40. _b.type(org.omg.CosNaming.BindingHelper.type());
  41. _list.add_value("b", _b, org.omg.CORBA.ARG_OUT.value);
  42. r.params(_list);
  43. org.omg.CosNaming.BindingHolder b;
  44. b = new org.omg.CosNaming.BindingHolder();
  45. boolean ___result;
  46. ___result = this.next_one(b);
  47. org.omg.CosNaming.BindingHelper.insert(_b, b.value);
  48. org.omg.CORBA.Any __result = _orb().create_any();
  49. __result.insert_boolean(___result);
  50. r.result(__result);
  51. }
  52. break;
  53. case 1: // org.omg.CosNaming.BindingIterator.next_n
  54. {
  55. org.omg.CORBA.NVList _list = _orb().create_list(0);
  56. org.omg.CORBA.Any _how_many = _orb().create_any();
  57. _how_many.type(org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong));
  58. _list.add_value("how_many", _how_many, org.omg.CORBA.ARG_IN.value);
  59. org.omg.CORBA.Any _bl = _orb().create_any();
  60. _bl.type(org.omg.CosNaming.BindingListHelper.type());
  61. _list.add_value("bl", _bl, org.omg.CORBA.ARG_OUT.value);
  62. r.params(_list);
  63. int how_many;
  64. how_many = _how_many.extract_ulong();
  65. org.omg.CosNaming.BindingListHolder bl;
  66. bl = new org.omg.CosNaming.BindingListHolder();
  67. boolean ___result;
  68. ___result = this.next_n(how_many, bl);
  69. org.omg.CosNaming.BindingListHelper.insert(_bl, bl.value);
  70. org.omg.CORBA.Any __result = _orb().create_any();
  71. __result.insert_boolean(___result);
  72. r.result(__result);
  73. }
  74. break;
  75. case 2: // org.omg.CosNaming.BindingIterator.destroy
  76. {
  77. org.omg.CORBA.NVList _list = _orb().create_list(0);
  78. r.params(_list);
  79. this.destroy();
  80. org.omg.CORBA.Any __return = _orb().create_any();
  81. __return.type(_orb().get_primitive_tc(org.omg.CORBA.TCKind.tk_void));
  82. r.result(__return);
  83. }
  84. break;
  85. default:
  86. throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
  87. }
  88. }
  89. }