Hide datapack positions behind an opaque handle.
This commit is contained in:
parent
dcbc85b2cf
commit
33d13ff81c
@ -35,6 +35,13 @@
|
|||||||
#endif
|
#endif
|
||||||
#define _datapack_included
|
#define _datapack_included
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opaque handle to a datapack position.
|
||||||
|
*/
|
||||||
|
enum DataPackPos: {};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new data pack.
|
* Creates a new data pack.
|
||||||
*
|
*
|
||||||
@ -137,7 +144,7 @@ native void ResetPack(Handle pack, bool clear=false);
|
|||||||
* @return Numerical position in the data pack.
|
* @return Numerical position in the data pack.
|
||||||
* @error Invalid handle.
|
* @error Invalid handle.
|
||||||
*/
|
*/
|
||||||
native int GetPackPosition(Handle pack);
|
native DataPackPos GetPackPosition(Handle pack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the read/write position in a data pack.
|
* Sets the read/write position in a data pack.
|
||||||
@ -147,7 +154,7 @@ native int GetPackPosition(Handle pack);
|
|||||||
* @noreturn
|
* @noreturn
|
||||||
* @error Invalid handle, or position is beyond the pack bounds.
|
* @error Invalid handle, or position is beyond the pack bounds.
|
||||||
*/
|
*/
|
||||||
native void SetPackPosition(Handle pack, int position);
|
native void SetPackPosition(Handle pack, DataPackPos position);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether or not a specified number of bytes from the data pack
|
* Returns whether or not a specified number of bytes from the data pack
|
||||||
@ -174,7 +181,7 @@ methodmap DataPack < Handle
|
|||||||
public Reset() = ResetPack;
|
public Reset() = ResetPack;
|
||||||
public IsReadable() = IsPackReadable;
|
public IsReadable() = IsPackReadable;
|
||||||
|
|
||||||
property int Position {
|
property DataPackPos Position {
|
||||||
public get() = GetPackPosition;
|
public get() = GetPackPosition;
|
||||||
public set() = SetPackPosition;
|
public set() = SetPackPosition;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user