efl/src/lib/efl/interfaces/efl_file.eo

109 lines
3.6 KiB
Plaintext

import eina_types;
import efl_gfx_types;
mixin Efl.File requires Efl.Object {
[[Efl file interface]]
methods {
@property mmap {
set {
[[Set the mmaped file from where an object will fetch the real
data (it must be an Eina_File).
If mmap is set during object construction, the object will automatically
call @.load during the finalize phase of construction.
]]
return: Eina.Error; [[0 on success, error code otherwise]]
}
get {
[[Get the mmaped file from where an object will fetch the real
data (it must be an Eina_File).
]]
}
values {
f: ptr(const(Eina.File)); [[The handle to an Eina_File that will be used]]
}
}
@property file {
set {
[[Set the file path from where an object will fetch the data.
If file is set during object construction, the object will automatically
call @.load during the finalize phase of construction.
]]
return: Eina.Error; [[0 on success, error code otherwise]]
}
get {
[[Retrieve the file path from where an object is to fetch the data.
You must not modify the strings on the returned pointers.]]
}
values {
file: string; [[The file path.]]
}
}
@property key {
set {
[[Set the key which corresponds to the target data within a file.
Some filetypes can contain multiple data streams which are indexed by
a key. Use this property for such cases.
]]
}
get {
[[Get the previously-set key which corresponds to the target data within a file.
Some filetypes can contain multiple data streams which are indexed by
a key. Use this property for such cases.
You must not modify the strings on the returned pointers.]]
}
values {
key: string; [[The group that the image belongs to, in case
it's an EET(including Edje case) file. This can be used
as a key inside evas image cache if this is a normal image
file not eet file.]]
}
}
@property loaded {
get {
[[Get the load state of the object.
]]
}
values {
loaded: bool; [[True if the object is loaded, otherwise false.]]
}
}
load {
[[Perform all necessary operations to open and load file data into the object
using the @.file (or @.mmap) and @.key properties.
In the case where @.file.set has been called on an object, this will internally
open the file and call @.mmap.set on the object using the opened file handle.
Calling @.load on an object which has already performed file operations based on
the currently set properties will have no effect.]]
return: Eina.Error; [[0 on success, error code otherwise]]
}
unload {
[[Perform all necessary operations to unload file data from the object.
In the case where @.mmap.set has been externally called on an object, the file handle
stored in the object will be preserved.
Calling @.unload on an object which is not currently loaded will have no effect.
]]
}
}
implements {
Efl.Object.destructor;
Efl.Object.finalize;
}
}