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
28package sun.awt.X11;
29
30import jdk.internal.misc.Unsafe;
31
32public 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}
161