Dataspace.mui

DESCRIPTION

Dataspace.mui/Dataspace.mui

	The Dataspace class serves as a very simple container for
	all kinds of data. You can add data items and reference them
	later through an ID. Furthermore, Dataspace class features
	methods to import/export a complete Dataspace from/to an IFF
	file handle.

	MUI uses subclasses of dataspace class to handle all its
	configuration data and thats probably the main purpose of a
	dataspace

MUIA_Dataspace_Count

(V20) [..G], ULONG, 0x8042e7ea

DESCRIPTION

	yet undocumented, please complain in mailinglist

MUIA_Dataspace_Pool

(V11) [I..], APTR, 0x80424cf9

DESCRIPTION

	If you specify a memory pool from exec.library/CreatePool()
	here, the dataspace object will use this pool for all its
	entries.

	If you omit this tag or pass NULL, the dataspace object
	will create its own memory pool instead

SEE ALSO

MUIM_Dataspace_Add

MUIM_Dataspace_Add (V11) 0x80423366

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Add,APTR data, LONG len, ULONG id);

DESCRIPTION

	This method adds a new entry to the dataspace. If an entry
	with the same ID already exists, it will be replaced with
	the new entry

INPUTS

	data - pointer to a data
	len  - length of data
	id   - reference id

RESULT

	Returns NULL on failure (probably because of a memory
	shortage) or some non NULL value on success

SEE ALSO

MUIM_Dataspace_Clear

MUIM_Dataspace_Clear (V11) 0x8042b6c9

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Clear);

DESCRIPTION

	This method clears all the contents of a dataspace. Depending
	on the state of the memory pool that the dataspace object uses,
	this may or may not result in more free memory

INPUTS

	none

RESULT

	All entries will be removed from the dataspace.
	The return value of this method is currently undefined

SEE ALSO

MUIM_Dataspace_Find

MUIM_Dataspace_Find (V11) 0x8042832c

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Find,ULONG id);

DESCRIPTION

	yet undocumented, please complain in mailinglist

MUIM_Dataspace_Get

MUIM_Dataspace_Get (V21) 0x8042483f

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Get,ULONG id, ULONG *size);

DESCRIPTION

	yet undocumented, please complain in mailinglist

MUIM_Dataspace_Merge

MUIM_Dataspace_Merge (V11) 0x80423e2b

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Merge,MUIDataspace *dataspace);

DESCRIPTION

	This method adds all the contents of the merge dataspace
	specified as parameter to the objects dataspace.
	As with MUIM_Dataspace_Add, entries with equal IDs
	will be replaced

INPUTS

	dataspace - dataspace objects whichs contents should
	            be merged

RESULT

	Returns the number of entries that have been
	added/replaced in the objects dataspace. If this
	number doesnt match the number of entries in the
	merge dataspace, something probably went wrong

SEE ALSO

MUIM_Dataspace_ReadIFF

MUIM_Dataspace_ReadIFF (V11) 0x80420dfb

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_ReadIFF,struct IFFHandle *handle);

DESCRIPTION

	Adds the contents of an IFF handle from iffparse.library to
	the dataspace. As always, objects with the same ID that
	are already in the dataspace will be replaced.

	This method does not look for any chunk types and chunk ids
	itself. Instead, it expects that you have already located
	the chunk which contains your data and does nothing
	but ReadChunkBytes() until all dataspace entries of
	the current chunk are read

INPUTS

	handle - pointer to a struct IFFHandle from
	         iffparse.library/AllocIFF(). The handle must
	         already be open, initialized for reading and
	         positioned on a chunk that was created with
	         MUIM_Dataspace_WriteIFF

RESULT

	Returns 0 on success or some IFFERR_xxx on failure

NOTES

	Do not call MUIM_Dataspace_ReadIFF if your handle is
	positioned on chunks that were not written with 
	MUIM_Dataspace_WriteIFF or strange things may happen!

SEE ALSO

MUIM_Dataspace_Remove

MUIM_Dataspace_Remove (V11) 0x8042dce1

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_Remove,ULONG id);

DESCRIPTION

	This method removes an entry from the dataspace

INPUTS

	id - reference id

RESULT

	Returns NULL if no entry with the given ID was found
	in the dataspace or some non NULL value on success

SEE ALSO

MUIM_Dataspace_WriteIFF

MUIM_Dataspace_WriteIFF (V11) 0x80425e8e

SYNOPSIS

	DoMethod(obj,MUIM_Dataspace_WriteIFF,struct IFFHandle *handle, ULONG type, ULONG id);

DESCRIPTION

	Writes the contents of a dataspace to an IFF handle of
	iffparse.library.

	In detail, a chunk with the specified type and id is created
	with PushChunk(), the contents of the dataspace are written
	with WriteChunkBytes() and the chunk is terminated with
	PopChunk

INPUTS

	handle - pointer to a struct IFFHandle from
	         iffparse.library/AllocIFF(). The handle must
	         already be open and initialized for writing.

	type   - type of chunk to create
	id     - id of chunk to create

RESULT

	Returns 0 on success or some IFFERR_xxx on failure

SEE ALSO