#ifndef _h_Types_
#define _h_Types_
#include "FMXClient.h"
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
extern "C++"
{
namespace fmx
{
class QuadChar
{
public:
inline const QuadChar &operator = ( const QuadChar &value );
inline uchar operator [] ( int i );
inline const uchar operator [] ( int i ) const;
inline bool operator == ( const QuadChar &value ) const;
inline bool operator != ( const QuadChar &value ) const;
inline bool operator < ( const QuadChar &value ) const;
inline bool operator <= ( const QuadChar &value ) const;
inline bool operator > ( const QuadChar &value ) const;
inline bool operator >= ( const QuadChar &value ) const;
inline uint32 GetMacType () const;
inline void SetMacType ( uint32 value );
inline void operator delete ( void *obj );
private:
QuadChar ();
QuadChar ( const QuadChar &value );
};
class Locale
{
public:
enum Type
{
kType_None = 0, kType_System = 1, kType_UnicodeRaw = 2, kType_UnicodeStandard = 3, kType_Catalog = 4, kType_CAT = 16, kType_HRV = 17, kType_CES = 18, kType_DAN = 19, kType_NLD = 20, kType_ENG = 21, kType_FIN = 22, kType_FIN_fmi = 23, kType_FRA = 24, kType_DEU = 25, kType_DEU_dictionary = 26, kType_ELL = 27, kType_HUN = 28, kType_ISL = 29, kType_ITA = 30, kType_JPN = 31, kType_NOR = 32, kType_POL = 33, kType_POR = 34, kType_RON = 35, kType_RUS = 36, kType_SLK = 37, kType_SLV = 38, kType_SPA = 39, kType_SPA_traditional = 40, kType_SWE = 41, kType_SWE_fmi = 42, kType_TUR = 43, kType_UKR = 44,
kType_CHI = 45, kType_CHI_stroke = 46,
kType_KOR = 76,
kType_HE = 47, kType_HI = 48, kType_AR = 49, kType_ET = 50, kType_LT = 51, kType_LV = 52, kType_SR = 53, kType_FA = 54, kType_BG = 55, kType_VI = 56, kType_TH = 57, kType_ELL_Mixed = 58, kType_BEN = 59, kType_TEL = 60, kType_MAR = 61, kType_TAM = 62, kType_GUJ = 63, kType_KAN = 64, kType_MAL = 65, kType_PAN = 67,
kType_ORI = 66, kType_SIN = 68, kType_URD = 69, kType_DIV = 70, kType_BUR = 71, kType_SAN = 72, kType_LAO = 73, kType_KHM = 74, kType_BOD = 75,
kType_Invalid = 0xFFFF
};
inline Locale &operator = ( const Locale &rhs );
inline void operator delete ( void *obj );
private:
inline Locale ( Type inputType );
inline Locale ( const Locale ©Construct );
};
#if FMX_USE_AUTO_PTR
class DEPRECATED QuadCharAutoPtr : public std::auto_ptr<QuadChar>
{
typedef QuadCharAutoPtr UpCaster;
public:
inline QuadCharAutoPtr ();
inline QuadCharAutoPtr ( char c0, char c1, char c2, char c3 );
inline QuadCharAutoPtr ( const QuadChar &value );
};
class DEPRECATED LocaleAutoPtr : public std::auto_ptr<Locale>
{
typedef LocaleAutoPtr UpCaster;
public:
inline LocaleAutoPtr ( Locale::Type inputType = Locale::kType_System );
inline LocaleAutoPtr ( const Locale ©Construct );
};
#endif
#if FMX_USE_UNIQUE_PTR
class QuadCharUniquePtr : public std::unique_ptr<QuadChar>
{
typedef QuadCharUniquePtr UpCaster;
public:
inline QuadCharUniquePtr ();
inline QuadCharUniquePtr ( char c0, char c1, char c2, char c3 );
inline QuadCharUniquePtr ( const QuadChar &value );
};
class LocaleUniquePtr : public std::unique_ptr<Locale>
{
typedef LocaleUniquePtr UpCaster;
public:
inline LocaleUniquePtr ( Locale::Type inputType = Locale::kType_System );
inline LocaleUniquePtr ( const Locale ©Construct );
};
#endif
}
}
extern "C"
{
fmx::QuadChar FMX_API *FM_QuadChar_Constructor1 ( fmx::_fmxcpt &_x ) throw ();
fmx::QuadChar FMX_API *FM_QuadChar_Constructor2 ( char c0, char c1, char c2, char c3, fmx::_fmxcpt &_x ) throw ();
fmx::QuadChar FMX_API *FM_QuadChar_Constructor3 ( const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
const fmx::QuadChar FMX_API *FM_QuadChar_operatorAS ( void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
fmx::uchar FMX_API FM_QuadChar_operatorAR ( void *_self, int i, fmx::_fmxcpt &_x ) throw ();
const fmx::uchar FMX_API FM_QuadChar_operatorCAR ( const void *_self, int i, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorEQ ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorNE ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorLT ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorLE ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorGT ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
bool FMX_API FM_QuadChar_operatorGE ( const void *_self, const fmx::QuadChar &value, fmx::_fmxcpt &_x ) throw ();
fmx::uint32 FMX_API FM_QuadChar_GetMacType ( const void *_self, fmx::_fmxcpt &_x ) throw ();
void FMX_API FM_QuadChar_SetMacType ( void *_self, fmx::uint32 value, fmx::_fmxcpt &_x ) throw ();
void FMX_API FM_QuadChar_Delete ( void *_self, fmx::_fmxcpt &_x ) throw ();
fmx::Locale FMX_API *FM_Locale_Constructor1 ( fmx::int32 inputType, fmx::_fmxcpt &_x ) throw ();
fmx::Locale FMX_API *FM_Locale_Constructor2 ( const fmx::Locale ©Construct, fmx::_fmxcpt &_x ) throw ();
fmx::Locale FMX_API *FM_Locale_operatorAS ( void *_self, const fmx::Locale &rhs, fmx::_fmxcpt &_x ) throw ();
void FMX_API FM_Locale_Delete ( void *_self, fmx::_fmxcpt &_x ) throw ();
}
extern "C++"
{
namespace fmx
{
inline const QuadChar &QuadChar::operator = ( const QuadChar &value )
{
_fmxcpt _x;
const QuadChar *_rtn = FM_QuadChar_operatorAS ( this, value, _x );
_x.Check ();
return *_rtn;
}
inline uchar QuadChar::operator [] ( int i )
{
_fmxcpt _x;
uchar _rtn = FM_QuadChar_operatorAR ( this, i, _x );
_x.Check ();
return _rtn;
}
inline const uchar QuadChar::operator [] ( int i ) const
{
_fmxcpt _x;
const uchar _rtn = FM_QuadChar_operatorCAR ( this, i, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator == ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorEQ ( this, value, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator != ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorNE ( this, value, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator < ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorLT ( this, value, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator <= ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorLE ( this, value, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator > ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorGT ( this, value, _x );
_x.Check ();
return _rtn;
}
inline bool QuadChar::operator >= ( const QuadChar &value ) const
{
_fmxcpt _x;
bool _rtn = FM_QuadChar_operatorGE ( this, value, _x );
_x.Check ();
return _rtn;
}
inline uint32 QuadChar::GetMacType () const
{
_fmxcpt _x;
uint32 _rtn = FM_QuadChar_GetMacType ( this, _x );
_x.Check ();
return _rtn;
}
inline void QuadChar::SetMacType ( uint32 value )
{
_fmxcpt _x;
FM_QuadChar_SetMacType ( this, value, _x );
_x.Check ();
}
inline void QuadChar::operator delete ( void *obj )
{
_fmxcpt _x;
FM_QuadChar_Delete ( obj, _x );
_x.Check ();
}
#if FMX_USE_AUTO_PTR
inline QuadCharAutoPtr::QuadCharAutoPtr ()
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor1 ( _x ) );
_x.Check ();
}
inline QuadCharAutoPtr::QuadCharAutoPtr ( char c0, char c1, char c2, char c3 )
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor2 ( c0, c1, c2, c3, _x ) );
_x.Check ();
}
inline QuadCharAutoPtr::QuadCharAutoPtr ( const QuadChar &value )
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor3 ( value, _x ) );
_x.Check ();
}
#endif
#if FMX_USE_UNIQUE_PTR
inline QuadCharUniquePtr::QuadCharUniquePtr ()
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor1 ( _x ) );
_x.Check ();
}
inline QuadCharUniquePtr::QuadCharUniquePtr ( char c0, char c1, char c2, char c3 )
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor2 ( c0, c1, c2, c3, _x ) );
_x.Check ();
}
inline QuadCharUniquePtr::QuadCharUniquePtr ( const QuadChar &value )
{
_fmxcpt _x;
reset ( FM_QuadChar_Constructor3 ( value, _x ) );
_x.Check ();
}
#endif
inline Locale &Locale::operator = ( const Locale &rhs )
{
_fmxcpt _x;
Locale *_rtn = FM_Locale_operatorAS ( this, rhs, _x );
_x.Check ();
return *_rtn;
}
inline void Locale::operator delete ( void *obj )
{
_fmxcpt _x;
FM_Locale_Delete ( obj, _x );
_x.Check ();
}
#if FMX_USE_AUTO_PTR
inline LocaleAutoPtr::LocaleAutoPtr ( Locale::Type inputType )
{
_fmxcpt _x;
reset ( FM_Locale_Constructor1 ( inputType, _x ) );
_x.Check ();
}
inline LocaleAutoPtr::LocaleAutoPtr ( const Locale ©Construct )
{
_fmxcpt _x;
reset ( FM_Locale_Constructor2 ( copyConstruct, _x ) );
_x.Check ();
}
#endif
#if FMX_USE_UNIQUE_PTR
inline LocaleUniquePtr::LocaleUniquePtr ( Locale::Type inputType )
{
_fmxcpt _x;
reset ( FM_Locale_Constructor1 ( inputType, _x ) );
_x.Check ();
}
inline LocaleUniquePtr::LocaleUniquePtr ( const Locale ©Construct )
{
_fmxcpt _x;
reset ( FM_Locale_Constructor2 ( copyConstruct, _x ) );
_x.Check ();
}
#endif
}
}
#endif