1 /*
2 * Copyright (c) 2003, 2009, 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
51 * Win32 keeps two basic data structures for shell folders. The first
52 * of these is called an ITEMIDLIST. Usually a pointer, called an
53 * LPITEMIDLIST, or more frequently just "PIDL". This structure holds
54 * a series of identifiers and can be either relative to the desktop
55 * (an absolute PIDL), or relative to the shell folder that contains them.
56 * Some Win32 functions can take absolute or relative PIDL values, and
57 * others can only accept relative values.
58 * <BR>
59 * The second data structure is an IShellFolder COM interface. Using
60 * this interface, one can enumerate the relative PIDLs in a shell
61 * folder, get attributes, etc.
62 * <BR>
63 * All Win32ShellFolder2 objects which are folder types (even non-file
64 * system folders) contain an IShellFolder object. Files are named in
65 * directories via relative PIDLs.
66 *
67 * @author Michael Martak
68 * @author Leif Samuelsson
69 * @author Kenneth Russell
70 * @since 1.4 */
71
72 final class Win32ShellFolder2 extends ShellFolder {
73
74 private static native void initIDs();
75
76 static {
77 initIDs();
78 }
79
80 // Win32 Shell Folder Constants
81 public static final int DESKTOP = 0x0000;
82 public static final int INTERNET = 0x0001;
83 public static final int PROGRAMS = 0x0002;
84 public static final int CONTROLS = 0x0003;
85 public static final int PRINTERS = 0x0004;
86 public static final int PERSONAL = 0x0005;
87 public static final int FAVORITES = 0x0006;
88 public static final int STARTUP = 0x0007;
89 public static final int RECENT = 0x0008;
90 public static final int SENDTO = 0x0009;
91 public static final int BITBUCKET = 0x000a;
|
1 /*
2 * Copyright (c) 2003, 2014, 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
51 * Win32 keeps two basic data structures for shell folders. The first
52 * of these is called an ITEMIDLIST. Usually a pointer, called an
53 * LPITEMIDLIST, or more frequently just "PIDL". This structure holds
54 * a series of identifiers and can be either relative to the desktop
55 * (an absolute PIDL), or relative to the shell folder that contains them.
56 * Some Win32 functions can take absolute or relative PIDL values, and
57 * others can only accept relative values.
58 * <BR>
59 * The second data structure is an IShellFolder COM interface. Using
60 * this interface, one can enumerate the relative PIDLs in a shell
61 * folder, get attributes, etc.
62 * <BR>
63 * All Win32ShellFolder2 objects which are folder types (even non-file
64 * system folders) contain an IShellFolder object. Files are named in
65 * directories via relative PIDLs.
66 *
67 * @author Michael Martak
68 * @author Leif Samuelsson
69 * @author Kenneth Russell
70 * @since 1.4 */
71 @SuppressWarnings("serial") // JDK-implementation class
72 final class Win32ShellFolder2 extends ShellFolder {
73
74 private static native void initIDs();
75
76 static {
77 initIDs();
78 }
79
80 // Win32 Shell Folder Constants
81 public static final int DESKTOP = 0x0000;
82 public static final int INTERNET = 0x0001;
83 public static final int PROGRAMS = 0x0002;
84 public static final int CONTROLS = 0x0003;
85 public static final int PRINTERS = 0x0004;
86 public static final int PERSONAL = 0x0005;
87 public static final int FAVORITES = 0x0006;
88 public static final int STARTUP = 0x0007;
89 public static final int RECENT = 0x0008;
90 public static final int SENDTO = 0x0009;
91 public static final int BITBUCKET = 0x000a;
|