4
* Copyright (c) 2006-2009 Operational Dynamics Consulting Pty Ltd
6
* The code in this file, and the library it is a part of, are made available
7
* to you by the authors under the terms of the "GNU General Public Licence,
8
* version 2" plus the "Classpath Exception" (you may link to this code as a
9
* library into other programs provided you don't make a derivation of it).
10
* See the LICENCE file for the terms governing usage and redistribution.
2
* java-gnome, a UI library for writing GTK and GNOME programs from Java!
4
* Copyright © 2006-2010 Operational Dynamics Consulting, Pty Ltd and Others
6
* The code in this file, and the program it is a part of, is made available
7
* to you by its authors as open source software: you can redistribute it
8
* and/or modify it under the terms of the GNU General Public License version
9
* 2 ("GPL") as published by the Free Software Foundation.
11
* This program 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 GPL for more details.
15
* You should have received a copy of the GPL along with this program. If not,
16
* see http://www.gnu.org/licenses/. The authors of this program may be
17
* contacted through http://java-gnome.sourceforge.net/.
19
* Linking this library statically or dynamically with other modules is making
20
* a combined work based on this library. Thus, the terms and conditions of
21
* the GPL cover the whole combination. As a special exception (the
22
* "Claspath Exception"), the copyright holders of this library give you
23
* permission to link this library with independent modules to produce an
24
* executable, regardless of the license terms of these independent modules,
25
* and to copy and distribute the resulting executable under terms of your
26
* choice, provided that you also meet, for each linked independent module,
27
* the terms and conditions of the license of that module. An independent
28
* module is a module which is not derived from or based on this library. If
29
* you modify this library, you may extend the Classpath Exception to your
30
* version of the library, but you are not obligated to do so. If you do not
31
* wish to do so, delete this exception statement from your version.
12
33
package org.gnome.glib;
15
* Static methods to initialize the Java bindings around GLib
36
* Static methods to initialize the Java bindings around GLib.
17
38
* @author Andrew Cowie
43
* href="http://www.freedesktop.org/wiki/Specifications/basedir-spec?action=show&redirect=Standards%2Fbasedir-spec">
44
* XDG Base Directory Specification</a>
63
89
public static void setProgramName(String name) {
64
90
GlibMisc.setPrgname(name);
94
* Get the XDG user specific configuration directory. In all likelihood
95
* this will be <code>~/.config</code>.
99
public static String getUserConfigDir() {
100
return GlibMisc.getUserConfigDir();
104
* Returns the username (i.e Linux login name) running the application.<br>
107
* <b>WARNING:</b><br>
108
* This method assumes that your system uses UTF-8 as encoding. Please
109
* file a bug if this assumption is not valid for your system.</b>
113
public static String getUserName() {
114
return GlibMisc.getUserName();
118
* Returns the real name of the user running the application from
119
* <code>/etc/passwd</code> file. If it can't be determined
120
* <code>"Unknown"</code> is returned.
123
* The warning about encoding in {@link #getUserName() getUserName()} also
128
public static String getRealName() {
129
return GlibMisc.getRealName();
133
* Get the XDG user specific cache directory. In all likelihood this will
134
* be <code>~/.cache</code>.
138
public static String getUserCacheDir() {
139
return GlibMisc.getUserCacheDir();
143
* Get the XDG user specific data directory. In all likelihood this will
144
* be <code>~/.local/share</code>.
148
public static String getUserDataDir() {
149
return GlibMisc.getUserDataDir();
153
* Get the XDG user specific special directory. Directory constants are
154
* defined in {@link UserDirectory}. System wide defaults are defined in
155
* <code>/etc/xdg/user-dirs.defaults</code> and can be overridden in
156
* <code>~/.config/user-dir.dirs</code>.
159
* If you've already queried the "special" directories then those values
160
* are cached; they certainly don't change often. If you're writing a
161
* program that absolutely needs to be aware if those settings have
162
* changed after you're already used this, then you can force up to date
163
* information by calling {@link #reloadUserSpecialDirsCache()
164
* Glib.reloadUserSpecialDirsCache()}.
168
public static String getUserSpecialDir(UserDirectory directory) {
169
return GlibMisc.getUserSpecialDir(directory);
173
* Reset the cache used for {@link #getUserSpecialDir(UserDirectory)
174
* getUserSpecialDir()}.
177
* <b>WARNING:</b><br>
178
* This may cause memory leaks if the return values change between calls.
182
public static void reloadUserSpecialDirsCache() {
183
GlibMisc.reloadUserSpecialDirsCache();
187
* Get a list of system-wide XDG data directories.
191
public static String[] getSystemDataDirs() {
192
return GlibMisc.getSystemDataDirs();
196
* Get a list of system-wide XDG configuration directories.
200
public static String[] getSystemConfigDirs() {
201
return GlibMisc.getSystemConfigDirs();