/***************************** {{{ LICENSE ********************************\ * dbobj, the relational object persistence module for PHP * * Copyright (C) 2006 Adam Banko * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * \***************************** LICENSE }}} ********************************/ #ifndef DBOBJ_objTypes_H #define DBOBJ_objTypes_H #include "php_dbobj.h" #include "objType.h" typedef basicType (*basicType_from_string_t)(STRINGLD(s) TSRMLS_DC); //name is trimmed from the string typedef complexType (*complexType_from_string_t)(STRINGLD(s), basicType sourceTypes[] TSRMLS_DC);//name is trimmed from the string typedef struct _objType_module { char** names; //these are matched in the type field uint namesL; //number of names char* version; basicType_from_string_t basicType_from_string; //name is trimmed from the string complexType_from_string_t complexType_from_string; //name is trimmed from the string } objType_module; DBOBJ_API void objType_register_module(objType_module *module); DBOBJ_API basicType basicType_from_string(STRINGLD(s) TSRMLS_DC); DBOBJ_API complexType complexType_from_string(STRINGLD(s), basicType sourceTypes[] TSRMLS_DC); DBOBJ_API void php_dbobj_MINIT_objTypes(TSRMLS_D); #endif //DBOBJ_objTypes_H /* * vim600: noet sw=4 ts=4 fdm=marker * vim<600: noet sw=4 ts=4 */