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; } }