| libMirage Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
#include <mirage.h>
MIRAGE_FragmentInfo;
MIRAGE_Fragment;
void mirage_fragment_generate_fragment_info
(MIRAGE_Fragment *self,
const gchar *id,
const gchar *name);
gboolean mirage_fragment_get_fragment_info (MIRAGE_Fragment *self,
const MIRAGE_FragmentInfo **fragment_info,
GError **error);
gboolean mirage_fragment_can_handle_data_format
(MIRAGE_Fragment *self,
const gchar *filename,
GError **error);
gboolean mirage_fragment_set_address (MIRAGE_Fragment *self,
gint address,
GError **error);
gboolean mirage_fragment_get_address (MIRAGE_Fragment *self,
gint *address,
GError **error);
gboolean mirage_fragment_set_length (MIRAGE_Fragment *self,
gint length,
GError **error);
gboolean mirage_fragment_get_length (MIRAGE_Fragment *self,
gint *length,
GError **error);
gboolean mirage_fragment_use_the_rest_of_file
(MIRAGE_Fragment *self,
GError **error);
gboolean mirage_fragment_read_main_data (MIRAGE_Fragment *self,
gint address,
guint8 *buf,
gint *length,
GError **error);
gboolean mirage_fragment_read_subchannel_data
(MIRAGE_Fragment *self,
gint address,
guint8 *buf,
gint *length,
GError **error);
MIRAGE_Fragment object is a base object for fragment implementations. It provides functions that are used by image parsers to provide access to data in image files.
MIRAGE_Fragment provides two virtual functions: mirage_fragment_get_fragment_info(),
mirage_fragment_can_handle_data_format(). These must be implemented
by fragment implementations which derive from MIRAGE_Fragment object.
Every fragment implementation needs to implement one of fragment interfaces: MIRAGE_FInterface_NULL, MIRAGE_FInterface_BINARY or MIRAGE_FInterface_AUDIO. Which interface a fragment implementation implements depends on the way the implementation handles data.
typedef struct {
gchar *id;
gchar *name;
} MIRAGE_FragmentInfo;
A structure containing fragment information. It can be obtained with call to
mirage_fragment_get_fragment_info().
typedef struct _MIRAGE_Fragment MIRAGE_Fragment;
Contains private data only, and should be accessed using the functions below.
void mirage_fragment_generate_fragment_info (MIRAGE_Fragment *self,const gchar *id,const gchar *name);
Generates fragment information from the input fields. It is intended as a function for creating fragment information in fragment implementations.
|
a MIRAGE_Fragment |
|
fragment ID |
|
fragment name |
gboolean mirage_fragment_get_fragment_info (MIRAGE_Fragment *self,const MIRAGE_FragmentInfo **fragment_info,GError **error);
Retrieves fragment information.
A pointer to fragment information structure is stored in fragment_info; the
structure belongs to object and therefore should not be modified.
|
a MIRAGE_Fragment |
|
location to store fragment info |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_can_handle_data_format (MIRAGE_Fragment *self,const gchar *filename,GError **error);
Checks whether parser can handle data stored in filename.
|
a MIRAGE_Fragment |
|
filename |
|
location to store error, or NULL
|
Returns : |
TRUE if fragment can handle data file, FALSE if not
|
gboolean mirage_fragment_set_address (MIRAGE_Fragment *self,gint address,GError **error);
Sets fragment's start address. The address is given in sectors.
|
a MIRAGE_Fragment |
|
start address |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_get_address (MIRAGE_Fragment *self,gint *address,GError **error);
Retrieves fragment's start address. The address is given in sectors.
|
a MIRAGE_Fragment |
|
location to store start address |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_set_length (MIRAGE_Fragment *self,gint length,GError **error);
Sets fragment's length. The length is given in sectors.
|
a MIRAGE_Fragment |
|
length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_get_length (MIRAGE_Fragment *self,gint *length,GError **error);
Retrieves fragment's length. The returned length is given in sectors.
|
a MIRAGE_Fragment |
|
location to store length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_use_the_rest_of_file (MIRAGE_Fragment *self,GError **error);
Uses the rest of data file. It automatically calculates and sets fragment's length.
|
a MIRAGE_Fragment |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_read_main_data (MIRAGE_Fragment *self,gint address,guint8 *buf,gint *length,GError **error);
Reads main channel selection data for sector at fragment-relative
address into buf and stores read length into length.
Both address and and length is given in sectors.
|
a MIRAGE_Fragment |
|
address |
|
buffer to read data into |
|
location to store read data length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|
gboolean mirage_fragment_read_subchannel_data (MIRAGE_Fragment *self,gint address,guint8 *buf,gint *length,GError **error);
Reads subchannel channel selection data for sector at fragment-relative
address into buf and stores read length into length.
Both address and length is given in sectors.
|
a MIRAGE_Fragment |
|
address |
|
buffer to read data into |
|
location to store read data length |
|
location to store error, or NULL
|
Returns : |
TRUE on success, FALSE on failure
|