+ZEND_BEGIN_ARG_INFO_EX(ai_pqconv_convert_to_string, 0, 0, 1)
+ ZEND_ARG_INFO(0, data)
+ZEND_END_ARG_INFO();
+
+zend_function_entry php_pqconv_methods[] = {
+ PHP_ABSTRACT_ME(pqconv, convertTypes, ai_pqconv_convert_types)
+ PHP_ABSTRACT_ME(pqconv, convertFromString, ai_pqconv_convert_from_string)
+ PHP_ABSTRACT_ME(pqconv, convertToString, ai_pqconv_convert_to_string)
+ {0}
+};
+
+
+PHP_MINIT_FUNCTION(pq_misc)
+{
+ zend_class_entry **json, ce = {0};
+
+ INIT_NS_CLASS_ENTRY(ce, "pq", "ConverterInterface", php_pqconv_methods);
+ php_pqconv_class_entry = zend_register_internal_interface(&ce TSRMLS_CC);
+
+ memset(&ce, 0, sizeof(ce));
+ INIT_NS_CLASS_ENTRY(ce ,"pq", "DateTime", php_pqdt_methods);
+ php_pqdt_class_entry = zend_register_internal_class_ex(&ce, php_date_get_date_ce(), "DateTime" TSRMLS_CC);
+
+ zend_declare_property_stringl(php_pqdt_class_entry, ZEND_STRL("format"), ZEND_STRL("Y-m-d H:i:s.u"), ZEND_ACC_PUBLIC TSRMLS_CC);
+
+ /* stop reading this file right here! */
+ if (SUCCESS == zend_hash_find(CG(class_table), ZEND_STRS("jsonserializable"), (void *) &json)) {
+ zend_class_implements(php_pqdt_class_entry TSRMLS_CC, 1, *json);