blob: 82bb907f0353edbbe2e4e193c189085a0a360dd6 [file] [log] [blame]
/**
etch_objects.h
etch object wrappers definintion and construction
*/
#ifndef ETCHOBJECTS_H
#define ETCHOBJECTS_H
#include "etchobj.h"
/**
* equate boxed object types to the object wrapper.
*/
typedef etchobject ETCH_INT;
typedef etchobject ETCH_INT8;
typedef etchobject ETCH_INT16;
typedef etchobject ETCH_INT32;
typedef etchobject ETCH_INT64;
typedef etchobject ETCH_BYTE;
typedef etchobject ETCH_BOOL;
typedef etchobject ETCH_IEEE32;
typedef etchobject ETCH_IEEE64;
typedef etchobject ETCH_STRING;
typedef etchobject ETCH_CLASS;
typedef etchobject ETCH_HASHTABLE;
typedef etchobject ETCH_TYPE;
typedef etchobject ETCH_FIELD;
typedef etchobject ETCH_ID_NAME;
typedef etchobject ETCH_EXCEPTION;
typedef etchobject ETCH_MESSAGE;
typedef etchobject ETCH_STRUCTVALUE;
typedef etchobject ETCH_ARRAYVALUE;
typedef etchobject ETCH_VALUEFACTORY;
typedef etchobject ETCH_TAGDATAINPUT;
typedef etchobject ETCH_TAGDATAOUTPUT;
typedef etchobject ETCH_ARRAYLIST;
/**
* constructors for boxed primitives
*/
ETCH_INT32* new_etch_int32 (const int value);
ETCH_INT8* new_etch_int8 (const signed char value);
ETCH_INT16* new_etch_int16 (const short value);
ETCH_INT64* new_etch_int64 (const int64 value);
ETCH_BYTE* new_etch_byte (const unsigned char value);
ETCH_BOOL* new_etch_bool (const unsigned char value);
ETCH_IEEE32* new_etch_ieee32(const float value);
ETCH_IEEE64* new_etch_ieee64(const double value);
ETCH_STRING* new_etch_string(const wchar_t* value);
ETCH_STRING* new_etch_static_string(const wchar_t* value);
ETCH_ARRAYLIST* new_etch_arraylist
(const unsigned isize, const unsigned dsize, const unsigned is_readonly);
void destroy_boxed_arraylist(ETCH_ARRAYLIST* thisp);
#endif /* #ifndef ETCHOBJECTS_H */