src/squirrel_helper.cpp
author truelight
Thu, 15 Mar 2007 22:22:51 +0000
branchnoai
changeset 9426 b90c0d1a36b7
parent 9424 90e9aa6326f3
child 9435 9dad22394553
permissions -rw-r--r--
(svn r9229) [NoAI] -Change: move more header-mess from .hpp to .cpp
/* $Id$ */

/** @file squirrel_helper.cpp parts of the implementation of the class for convert code */

#include "stdafx.h"
#include "squirrel_helper.hpp"

template <> int SQConvert::Return<uint8> (HSQUIRRELVM vm, uint8 res)  { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<uint16>(HSQUIRRELVM vm, uint16 res) { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<uint32>(HSQUIRRELVM vm, uint32 res) { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<int8>  (HSQUIRRELVM vm, int8 res)   { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<int16> (HSQUIRRELVM vm, int16 res)  { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<int32> (HSQUIRRELVM vm, int32 res)  { sq_pushinteger(vm, res); return 1; }
template <> int SQConvert::Return<bool>  (HSQUIRRELVM vm, bool res)   { sq_pushbool   (vm, res); return 1; }
template <> int SQConvert::Return<char *>(HSQUIRRELVM vm, char *res)  { sq_pushstring (vm, res, strlen(res)); free(res); return 1; }

template <> uint8       SQConvert::GetParam(ForceType<uint8>       , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> uint16      SQConvert::GetParam(ForceType<uint16>      , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> uint32      SQConvert::GetParam(ForceType<uint32>      , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> int8        SQConvert::GetParam(ForceType<int8>        , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> int16       SQConvert::GetParam(ForceType<int16>       , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> int32       SQConvert::GetParam(ForceType<int32>       , HSQUIRRELVM vm, int index) { SQInteger     tmp; sq_getinteger(vm, index, &tmp); return tmp; }
template <> bool        SQConvert::GetParam(ForceType<bool>        , HSQUIRRELVM vm, int index) { SQBool        tmp; sq_getbool   (vm, index, &tmp); return tmp; }
template <> const char *SQConvert::GetParam(ForceType<const char *>, HSQUIRRELVM vm, int index) { const SQChar *tmp; sq_getstring (vm, index, &tmp); return tmp; }