Identifier.c

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2006-2007 by Konstantin V. Arkhipov                     *
00003  *                                                                         *
00004  *   This program is free software; you can redistribute it and/or modify  *
00005  *   it under the terms of the GNU Lesser General Public License as        *
00006  *   published by the Free Software Foundation; either version 3 of the    *
00007  *   License, or (at your option) any later version.                       *
00008  *                                                                         *
00009  ***************************************************************************/
00010 /* $Id: Identifier.c 4687 2007-12-09 18:57:18Z voxus $ */
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 };

Generated on Sun Dec 9 21:56:23 2007 for onPHP by  doxygen 1.5.4