This method returns an object property of a php class. If the object exists, it returns a reference to it, otherwise it creates it */
| 94 | /* This method returns an object property of a php class. If the object exists, it returns a reference to it, |
| 95 | otherwise it creates it */ |
| 96 | void mapscript_fetch_object(zend_class_entry *ce, zval* zval_parent, php_layer_object* layer, |
| 97 | void *internal_object, |
| 98 | zval **php_object_storage TSRMLS_DC) |
| 99 | { |
| 100 | parent_object p; |
| 101 | |
| 102 | // create the parent struct |
| 103 | p.val = zval_parent; |
| 104 | p.child_ptr = &*php_object_storage; |
| 105 | MAKE_STD_ZVAL(*php_object_storage); |
| 106 | |
| 107 | if (ce == mapscript_ce_outputformat) |
| 108 | mapscript_create_outputformat((outputFormatObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 109 | else if (ce == mapscript_ce_color) |
| 110 | mapscript_create_color((colorObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 111 | else if (ce == mapscript_ce_rect) |
| 112 | mapscript_create_rect((rectObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 113 | else if (ce == mapscript_ce_class) |
| 114 | mapscript_create_class((classObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 115 | else if (ce == mapscript_ce_hashtable) |
| 116 | mapscript_create_hashtable((hashTableObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 117 | else if (ce == mapscript_ce_label) |
| 118 | mapscript_create_label((labelObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 119 | else if (ce == mapscript_ce_style) |
| 120 | mapscript_create_style((styleObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 121 | else if (ce == mapscript_ce_symbol) |
| 122 | mapscript_create_symbol((symbolObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 123 | else if (ce == mapscript_ce_labelcachemember) |
| 124 | mapscript_create_labelcachemember((labelCacheMemberObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 125 | else if (ce == mapscript_ce_labelcache) |
| 126 | mapscript_create_labelcache((labelCacheObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 127 | else if (ce == mapscript_ce_result) |
| 128 | mapscript_create_result((resultObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 129 | else if (ce == mapscript_ce_scalebar) |
| 130 | mapscript_create_scalebar((scalebarObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 131 | else if (ce == mapscript_ce_web) |
| 132 | mapscript_create_web((webObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 133 | else if (ce == mapscript_ce_legend) |
| 134 | mapscript_create_legend((legendObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 135 | else if (ce == mapscript_ce_querymap) |
| 136 | mapscript_create_querymap((queryMapObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 137 | else if (ce == mapscript_ce_grid) |
| 138 | mapscript_create_grid((graticuleObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 139 | else if (ce == mapscript_ce_referencemap) |
| 140 | mapscript_create_referencemap((referenceMapObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 141 | else if (ce == mapscript_ce_point) |
| 142 | mapscript_create_point((pointObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 143 | else if (ce == mapscript_ce_projection) |
| 144 | mapscript_create_projection((projectionObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 145 | else if (ce == mapscript_ce_line) |
| 146 | mapscript_create_line((lineObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 147 | else if (ce == mapscript_ce_shape) |
| 148 | mapscript_create_shape((shapeObj*)internal_object, p, layer, *php_object_storage TSRMLS_CC); |
| 149 | else if (ce == mapscript_ce_layer) |
| 150 | mapscript_create_layer((layerObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 151 | else if (ce == mapscript_ce_cluster) |
| 152 | mapscript_create_cluster((clusterObj*)internal_object, p, *php_object_storage TSRMLS_CC); |
| 153 | } |
nothing calls this directly
no test coverage detected