Handle to a local cache of XDG base directories

Introduced properties

fun cache_home: String

xdg_basedir :: XdgBasedir :: cache_home

Base directory for user specific non-essential data files.
fun config_dirs: Array[String]

xdg_basedir :: XdgBasedir :: config_dirs

Preference-ordered set of base directories to search for configuration
fun config_home: String

xdg_basedir :: XdgBasedir :: config_home

Base directory for user specific configuration files.
fun data_dirs: Array[String]

xdg_basedir :: XdgBasedir :: data_dirs

Preference-ordered set of base directories to search for data files
fun data_home: String

xdg_basedir :: XdgBasedir :: data_home

Base directory for user specific data files.
fun destroy

xdg_basedir :: XdgBasedir :: destroy

Wipe handle of XDG data cache.
fun is_valid: Bool

xdg_basedir :: XdgBasedir :: is_valid

Has this instance been correctly initialized?
init new: XdgBasedir

xdg_basedir :: XdgBasedir :: new

Initialize a handle to an XDG data cache and initialize the cache.
fun searchable_config_dirs: Array[String]

xdg_basedir :: XdgBasedir :: searchable_config_dirs

Preference-ordered set of base directories to search for configuration
fun searchable_data_dirs: Array[String]

xdg_basedir :: XdgBasedir :: searchable_data_dirs

Preference-ordered set of base directories to search for data files
fun update: Bool

xdg_basedir :: XdgBasedir :: update

Update the data cache.

Redefined properties

redef type SELF: XdgBasedir

xdg_basedir $ XdgBasedir :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun address_is_null: Bool

core :: Pointer :: address_is_null

Is the address behind this Object at NULL?
fun cache_home: String

xdg_basedir :: XdgBasedir :: cache_home

Base directory for user specific non-essential data files.
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun config_dirs: Array[String]

xdg_basedir :: XdgBasedir :: config_dirs

Preference-ordered set of base directories to search for configuration
fun config_home: String

xdg_basedir :: XdgBasedir :: config_home

Base directory for user specific configuration files.
fun data_dirs: Array[String]

xdg_basedir :: XdgBasedir :: data_dirs

Preference-ordered set of base directories to search for data files
fun data_home: String

xdg_basedir :: XdgBasedir :: data_home

Base directory for user specific data files.
fun destroy

xdg_basedir :: XdgBasedir :: destroy

Wipe handle of XDG data cache.
fun free

core :: Pointer :: free

Free the memory pointed by this pointer
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun is_valid: Bool

xdg_basedir :: XdgBasedir :: is_valid

Has this instance been correctly initialized?
init new: XdgBasedir

xdg_basedir :: XdgBasedir :: new

Initialize a handle to an XDG data cache and initialize the cache.
init nul: Pointer

core :: Pointer :: nul

C NULL pointer
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun searchable_config_dirs: Array[String]

xdg_basedir :: XdgBasedir :: searchable_config_dirs

Preference-ordered set of base directories to search for configuration
fun searchable_data_dirs: Array[String]

xdg_basedir :: XdgBasedir :: searchable_data_dirs

Preference-ordered set of base directories to search for data files
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun update: Bool

xdg_basedir :: XdgBasedir :: update

Update the data cache.
package_diagram xdg_basedir::XdgBasedir XdgBasedir core::Pointer Pointer xdg_basedir::XdgBasedir->core::Pointer core::Object Object core::Pointer->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

extern class Pointer

core :: Pointer

Pointer classes are used to manipulate extern C structures.

Class definitions

xdg_basedir $ XdgBasedir
# Handle to a local cache of XDG base directories
extern class XdgBasedir `{ xdgHandle* `}

	# Initialize a handle to an XDG data cache and initialize the cache.
	new `{ return xdgInitHandle(NULL); `}

	# Has this instance been correctly initialized?
	fun is_valid: Bool do return not address_is_null

	# Wipe handle of XDG data cache.
	fun destroy `{ xdgWipeHandle(self); `}

	# Update the data cache.
	#
	# This should not be done frequently as it reallocates the cache.
	# Even if updating the cache fails the handle remains valid and can
	# be used to access XDG data as it was before `update` was called.
	#
	# Returns `true` if the update was successful.
	fun update: Bool `{ return xdgUpdateData(self); `}

	# Base directory for user specific data files.
	fun data_home: String import CString.to_s `{
		return CString_to_s((char*)xdgDataHome(self));
	`}

	# Base directory for user specific configuration files.
	fun config_home: String import CString.to_s `{
		return CString_to_s((char*)xdgConfigHome(self));
	`}

	# Base directory for user specific non-essential data files.
	fun cache_home: String import CString.to_s `{
		return CString_to_s((char*)xdgCacheHome(self));
	`}

	# Preference-ordered set of base directories to search for data files
	# in addition to the $XDG_DATA_HOME base directory.
	fun data_dirs: Array[String] do return native_data_dirs.to_string_array

	private fun native_data_dirs: ConstPointer `{
		return xdgDataDirectories(self);
	`}

	# Preference-ordered set of base directories to search for data files
	# with $XDG_DATA_HOME prepended.
	#
	# The base directory defined by $XDG_DATA_HOME is considered more
	# important than any of the base directories defined by $XDG_DATA_DIRS.
	fun searchable_data_dirs: Array[String]
	do
		return native_searchable_data_dirs.to_string_array
	end

	private fun native_searchable_data_dirs: ConstPointer `{
		return xdgSearchableDataDirectories(self);
	`}

	# Preference-ordered set of base directories to search for configuration
	# files in addition to the $XDG_CONFIG_HOME base directory.
	fun config_dirs: Array[String] do return native_config_dirs.to_string_array

	private fun native_config_dirs: ConstPointer `{
		return xdgConfigDirectories(self);
	`}

	# Preference-ordered set of base directories to search for configuration
	# files with $XDG_CONFIG_HOME prepended.
	#
	# The base directory defined by $XDG_CONFIG_HOME is considered more
	# important than any of the base directories defined by $XDG_CONFIG_DIRS.
	fun searchable_config_dirs: Array[String]
	do
		return native_searchable_config_dirs.to_string_array
	end

	private fun native_searchable_config_dirs: ConstPointer `{
		return xdgSearchableConfigDirectories(self);
	`}
end
lib/xdg_basedir/xdg_basedir.nit:30,1--109,3