00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "onphp.h"
00013
00014 #include "core/Base/Identifier.h"
00015
00016 ONPHP_METHOD(Identifier, create)
00017 {
00018 zval *object;
00019
00020 MAKE_STD_ZVAL(object);
00021
00022 object->value.obj = onphp_empty_object_new(onphp_ce_Identifier TSRMLS_CC);
00023 Z_TYPE_P(object) = IS_OBJECT;
00024
00025 RETURN_ZVAL(object, 1, 1);
00026 }
00027
00028 ONPHP_METHOD(Identifier, wrap)
00029 {
00030 zval *object, *id;
00031
00032 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &id) == FAILURE) {
00033 WRONG_PARAM_COUNT;
00034 }
00035
00036 MAKE_STD_ZVAL(object);
00037
00038 object->value.obj = onphp_empty_object_new(onphp_ce_Identifier TSRMLS_CC);
00039 Z_TYPE_P(object) = IS_OBJECT;
00040
00041 ONPHP_UPDATE_PROPERTY(object, "id", id);
00042
00043 RETURN_ZVAL(object, 1, 1);
00044 }
00045
00046 ONPHP_METHOD(Identifier, getId)
00047 {
00048 zval *id;
00049
00050 id = ONPHP_READ_PROPERTY(getThis(), "id");
00051
00052 RETURN_ZVAL(id, 1, 0);
00053 }
00054
00055 ONPHP_METHOD(Identifier, setId)
00056 {
00057 zval *id;
00058
00059 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &id) == FAILURE) {
00060 WRONG_PARAM_COUNT;
00061 }
00062
00063 ONPHP_UPDATE_PROPERTY(getThis(), "id", id);
00064
00065 RETURN_ZVAL(getThis(), 1, 0);
00066 }
00067
00068 ONPHP_METHOD(Identifier, finalize)
00069 {
00070 ONPHP_UPDATE_PROPERTY_BOOL(getThis(), "final", 1);
00071
00072 RETURN_ZVAL(getThis(), 1, 0);
00073 }
00074
00075 ONPHP_METHOD(Identifier, isFinalized)
00076 {
00077 if (zval_is_true(ONPHP_READ_PROPERTY(getThis(), "final"))) {
00078 RETURN_TRUE;
00079 }
00080
00081 RETURN_FALSE;
00082 }
00083
00084 static ONPHP_ARGINFO_ONE;
00085
00086 zend_function_entry onphp_funcs_Identifier[] = {
00087 ONPHP_ME(Identifier, create, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
00088 ONPHP_ME(Identifier, wrap, arginfo_one, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
00089 ONPHP_ME(Identifier, getId, NULL, ZEND_ACC_PUBLIC)
00090 ONPHP_ME(Identifier, setId, arginfo_one, ZEND_ACC_PUBLIC)
00091 ONPHP_ME(Identifier, finalize, NULL, ZEND_ACC_PUBLIC)
00092 ONPHP_ME(Identifier, isFinalized, NULL, ZEND_ACC_PUBLIC)
00093 {NULL, NULL, NULL}
00094 };