1 /*
   2  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 // This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
  27 
  28 package sun.awt.X11;
  29 
  30 import sun.misc.Unsafe;
  31 
  32 public class XQueryTree {
  33         private static Unsafe unsafe = XlibWrapper.unsafe;
  34         private boolean __executed = false;
  35         long _w;
  36         long root_ptr = unsafe.allocateMemory(Native.getLongSize());
  37         long parent_ptr = unsafe.allocateMemory(Native.getLongSize());
  38         long children_ptr = unsafe.allocateMemory(Native.getLongSize());
  39         long nchildren_ptr = unsafe.allocateMemory(Native.getIntSize());
  40     UnsafeXDisposerRecord disposer;
  41         public XQueryTree(
  42                 long w  )
  43         {
  44                 set_w(w);
  45                 sun.java2d.Disposer.addRecord(this, disposer = new UnsafeXDisposerRecord("XQueryTree",
  46                                                                                          new long[]{root_ptr, parent_ptr, nchildren_ptr},
  47                                                                                          new long[] {children_ptr}));
  48                 set_children(0);
  49         }
  50         public int execute() {
  51                 return execute(null);
  52         }
  53         public int execute(XErrorHandler errorHandler) {
  54                 XToolkit.awtLock();
  55                 try {
  56                     if (isDisposed()) {
  57                         throw new IllegalStateException("Disposed");
  58                     }
  59                         if (__executed) {
  60                             throw new IllegalStateException("Already executed");
  61                         }
  62                         __executed = true;
  63                         if (errorHandler != null) {
  64                             XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);
  65                         }
  66                         Native.putLong(children_ptr, 0);
  67                         int status =
  68                         XlibWrapper.XQueryTree(XToolkit.getDisplay(),
  69                                 get_w(),
  70                                 root_ptr,
  71                                 parent_ptr,
  72                                 children_ptr,
  73                                 nchildren_ptr                   );
  74                         if (errorHandler != null) {
  75                             XErrorHandlerUtil.RESTORE_XERROR_HANDLER();
  76                         }
  77                         return status;
  78                 } finally {
  79                     XToolkit.awtUnlock();
  80                 }
  81         }
  82         public boolean isExecuted() {
  83             return __executed;
  84         }
  85 
  86         public boolean isDisposed() {
  87             return disposer.disposed;
  88         }
  89         public void dispose() {
  90             XToolkit.awtLock();
  91             try {
  92                 if (isDisposed()) {
  93                     return;
  94                 }
  95                 disposer.dispose();
  96             } finally {
  97                 XToolkit.awtUnlock();
  98             }
  99         }
 100         public long get_w() {
 101                 if (isDisposed()) {
 102                     throw new IllegalStateException("Disposed");
 103                 }
 104                 if (!__executed) {
 105                     throw new IllegalStateException("Not executed");
 106                 }
 107                 return _w;
 108         }
 109         public void set_w(long data) {
 110                 _w = data;
 111         }
 112         public long get_root() {
 113                 if (isDisposed()) {
 114                     throw new IllegalStateException("Disposed");
 115                 }
 116                 if (!__executed) {
 117                     throw new IllegalStateException("Not executed");
 118                 }
 119                 return Native.getLong(root_ptr);
 120         }
 121         public void set_root(long data) {
 122                 Native.putLong(root_ptr, data);
 123         }
 124         public long get_parent() {
 125                 if (isDisposed()) {
 126                     throw new IllegalStateException("Disposed");
 127                 }
 128                 if (!__executed) {
 129                     throw new IllegalStateException("Not executed");
 130                 }
 131                 return Native.getLong(parent_ptr);
 132         }
 133         public void set_parent(long data) {
 134                 Native.putLong(parent_ptr, data);
 135         }
 136         public long get_children() {
 137                 if (isDisposed()) {
 138                     throw new IllegalStateException("Disposed");
 139                 }
 140                 if (!__executed) {
 141                     throw new IllegalStateException("Not executed");
 142                 }
 143                 return Native.getLong(children_ptr);
 144         }
 145         public void set_children(long data) {
 146                 Native.putLong(children_ptr, data);
 147         }
 148         public int get_nchildren() {
 149                 if (isDisposed()) {
 150                     throw new IllegalStateException("Disposed");
 151                 }
 152                 if (!__executed) {
 153                     throw new IllegalStateException("Not executed");
 154                 }
 155                 return Native.getInt(nchildren_ptr);
 156         }
 157         public void set_nchildren(int data) {
 158                 Native.putInt(nchildren_ptr, data);
 159         }
 160 }