]> granicus.if.org Git - php/commitdiff
@- Removed Satellite. It is now part of PEAR.
authorDavid Eriksson <eriksson@php.net>
Tue, 5 Feb 2002 09:09:35 +0000 (09:09 +0000)
committerDavid Eriksson <eriksson@php.net>
Tue, 5 Feb 2002 09:09:35 +0000 (09:09 +0000)
36 files changed:
ext/satellite/Makefile.in [deleted file]
ext/satellite/README
ext/satellite/class.c [deleted file]
ext/satellite/class.h [deleted file]
ext/satellite/common.c [deleted file]
ext/satellite/common.h [deleted file]
ext/satellite/config.m4 [deleted file]
ext/satellite/corba.c [deleted file]
ext/satellite/corba.h [deleted file]
ext/satellite/enum.c [deleted file]
ext/satellite/enum.h [deleted file]
ext/satellite/findtype.c [deleted file]
ext/satellite/findtype.h [deleted file]
ext/satellite/hashtable.c [deleted file]
ext/satellite/hashtable.h [deleted file]
ext/satellite/multiple_components.patch [deleted file]
ext/satellite/namedvalue_to_zval.c [deleted file]
ext/satellite/namedvalue_to_zval.h [deleted file]
ext/satellite/object.c [deleted file]
ext/satellite/object.h [deleted file]
ext/satellite/php_orbit.c [deleted file]
ext/satellite/php_orbit.h [deleted file]
ext/satellite/struct.c [deleted file]
ext/satellite/struct.h [deleted file]
ext/satellite/tests/001.phpt [deleted file]
ext/satellite/tests/002.phpt [deleted file]
ext/satellite/tests/003.phpt [deleted file]
ext/satellite/tests/004.phpt [deleted file]
ext/satellite/tests/005.phpt [deleted file]
ext/satellite/tests/random.idl [deleted file]
ext/satellite/typecode.c [deleted file]
ext/satellite/typecode.h [deleted file]
ext/satellite/typemanager.c [deleted file]
ext/satellite/typemanager.h [deleted file]
ext/satellite/zval_to_namedvalue.c [deleted file]
ext/satellite/zval_to_namedvalue.h [deleted file]

diff --git a/ext/satellite/Makefile.in b/ext/satellite/Makefile.in
deleted file mode 100644 (file)
index 582fe46..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-#   +----------------------------------------------------------------------+
-#   | PHP Version 4                                                        |
-#   +----------------------------------------------------------------------+
-#   | Copyright (c) 1997-2002 The PHP Group                                |
-#   +----------------------------------------------------------------------+
-#   | This source file is subject to version 2.02 of the PHP license,      |
-#   | that is bundled with this package in the file LICENSE, and is        |
-#   | available at through the world-wide-web at                           |
-#   | http://www.php.net/license/2_02.txt.                                 |
-#   | If you did not receive a copy of the PHP license and are unable to   |
-#   | obtain it through the world-wide-web, please send a note to          |
-#   | license@php.net so we can mail you a copy immediately.               |
-#   +----------------------------------------------------------------------+
-#   | Author: David Eriksson <david@2good.com>                            |
-#   +----------------------------------------------------------------------+
-#
-
-#
-# $Id$
-# vim: tabstop=2 shiftwidth=2
-#
-
-# -----------------------------------------------------------------------
-#
-# Makefile for satellite
-#
-# TODO: specify dependencies properly!
-#
-# -----------------------------------------------------------------------
-
-LTLIBRARY_NAME        = libsatellite.la
-LTLIBRARY_SOURCES     = \
-       class.c \
-       common.c \
-       corba.c \
-       enum.c \
-       findtype.c \
-       hashtable.c \
-       namedvalue_to_zval.c \
-       object.c \
-       php_orbit.c \
-       struct.c \
-       typecode.c \
-       typemanager.c \
-       zval_to_namedvalue.c
-
-LTLIBRARY_SHARED_NAME = satellite.la
-LTLIBRARY_SHARED_LIBADD = $(SATELLITE_SHARED_LIBADD)
-
-EXTRA_CFLAGS = -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations
-
-include $(top_srcdir)/build/dynlib.mk
index 83aa6bba672fbacded24b0f741fd0d1ffd8c36d1..d19d60eccff394d42ebe9f3b95f6e7bb7627d2a0 100644 (file)
@@ -1,98 +1,8 @@
 $Id$
 
-About Satellite
----------------
-Satellite is CORBA support for PHP using ORBit.
+Satellite has been moved to PEAR, The PHP Extension and Application Repository.
 
-The original version was made by David Eriksson <david@2good.com> 
-during the summer 2000.
-
-
-Installation
-------------
-Read below about installing ORBit.
-
-Then create a directory on your server for your IDL files, and add
-an entry to your php.ini like this:
-
-  idl_directory = /var/idl
-
-Note: If you compile Satellite as a dynamic PHP extension you must have the
-      above line located before the extension=satellite.so line in php.ini!
-
-
-Known issues
-------------
-
-The ORBit version required by Satellite does not properly handle an IOR that contains
-a "Multiple Components Profile". If you run into these problems, please apply the patch
-named 'multiple_components.patch' to your ORBit directory before building.
-
-                       
-PHP as an Apache static module
-------------------------------
-Before linking Apache you must do either of these things:
-
-  a) Before running Apache's configure you set the environment variable
-     LIBS like this:
-
-     export LIBS="`orbit-config --libs client` `libIDL-config --libs`"
-
-  b) You edit apache/src/modules/php4/libphp4.module and
-     add `orbit-config --libs client` `libIDL-config --libs`
-     within the quotes on the line beginning with LIBS=
-
-
-What version of ORBit is required?
-----------------------------------
-You need a CVS version of ORBit to use Satellite!
-
-This does NOT work with ORBit 0.5.5 or earlier.
-
-The latest CVS version of ORBit in CVS requires glib-2.0 and has not been 
-tested. Because of this we checkout a CVS version from a known safe date.
-
-How to install ORBit from CVS
------------------------------
-
-(1) Get it from CVS
-
-    CVS root:   :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome
-    Password:   Empty string
-    Directory:  ORBit
-    Safe date:  2000-09-02 (yyyy-mm-dd)
-
-    More about GNOME:s CVS on http://www.gnome.org/start/source.html
-
-    Sample session at command line to checkout:
-
-    $ export CVSROOT=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
-    
-    $ cvs login
-    (Logging in to anonymous@anoncvs.gnome.org)
-    CVS password:
-    
-    $ cvs checkout -D "2000-09-02" ORBit
-    cvs server: Updating ORBit
-    .
-    .
-    .
-
-(2) Set the environment variable CERTIFIED_GNOMIE to whatever you like.
-
-(3) Run ./autogen.sh, gmake and gmake install
-
-
-How to install ORBit from snapshot
-----------------------------------
-
-(1) Download snapshot from one of these addresses:
-
-    http://download.2good.nu/satellite/ORBit-20000902.tgz
-    http://www.2good.com/satellite/ORBit-20000902.tgz
-
-(2) Set the environment variable CERTIFIED_GNOMIE to whatever you like.
-
-(3) Run ./configure, gmake and gmake install
+It is located in /pear/PECL/satellite/
 
+See http://pear.php.net/faq.php#faq-6 for information about installing a C module from PEAR.
 
diff --git a/ext/satellite/class.c b/ext/satellite/class.c
deleted file mode 100644 (file)
index 5e36ea3..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-
-/*
- * Helper function for making PHP classes
- */
-
-#include <php.h>
-#include "common.h"
-#include "class.h"
-
-void orbit_class_function_call(
-               zend_class_entry * pClass,
-               int dataType,
-               zend_property_reference *pPropertyReference, 
-               Class_Constructor pConstructor, 
-               Class_CallFunction pCallFunction,
-               INTERNAL_FUNCTION_PARAMETERS)
-{
-       /* get object */
-       zval * object = pPropertyReference->object;
-
-       /* get function name */
-       zend_overloaded_element * function_name =
-               (zend_overloaded_element *)pPropertyReference->elements_list->tail->data;
-
-       /* handle parameters */
-       zval ** arguments = orbit_new_n(zval *, ZEND_NUM_ARGS());
-               /*(zval **)emalloc(sizeof(zval *) * ZEND_NUM_ARGS());*/
-       if (getParametersArray(ht, ZEND_NUM_ARGS(), arguments) == FAILURE)
-       {
-               /* TODO: handle error */
-       }
-
-       if (!object)
-       {
-               zend_error(E_WARNING, "Invalid Satellite class");\
-               return;
-       }
-
-       /* constructor or normal function? */
-       if (zend_llist_count(pPropertyReference->elements_list) == 1
-                       && !strcasecmp(Z_STRVAL(function_name->element), pClass->name))
-       {
-               /* constructor */
-               if (pConstructor)
-               {
-                       void * p_data = NULL;
-                       zend_bool success = (*pConstructor)(&p_data, ZEND_NUM_ARGS(), arguments);
-
-                       if (success)
-                               orbit_save_data(object, dataType, p_data);
-               }
-               else
-               {
-                       zend_error(E_WARNING, "(Satellite) This class has no constructor");\
-               }
-       }
-       else
-       {
-               /* normal function */
-               if (pCallFunction)
-               {
-                       void * p_data = orbit_retrieve_data(object, dataType);
-
-                       if (p_data == NULL)
-                       {
-                               /* 
-                                * this means that the constructor has failed earlier! 
-                                * -- or should NULL be allowed here? 
-                                */
-                               php_error(E_WARNING, "(Satellite) Class has no data!");
-                               RETVAL_NULL();
-                               goto orbit_class_function_call_exit;
-                       }
-                       
-                       /* pval * return_value is a part of INTERNAL_FUNCTION_PARAMETERS */
-                       (*pCallFunction)(p_data, Z_STRVAL(function_name->element),
-                                                                                        ZEND_NUM_ARGS(), arguments, return_value);
-               }
-               else
-               {
-                       zend_error(E_WARNING, "(Satellite) Can't call functions in this class");\
-               }
-       }
-
-orbit_class_function_call_exit:
-       satellite_delete(arguments);
-       
-       /* seems to be required! */
-       zval_dtor(&function_name->element);
-}
-
-/*
- * save a corba object to a php object
- */
-void orbit_save_data(zval * php_object, int type, void * data)
-{
-       pval * orbit_data_handle = NULL;
-       long id = zend_list_insert(
-                       data,                                                                           /* data */
-                       type                                                            /* type */
-                       );
-       
-
-       /* 
-        * do it like they do in php_COM_call_function_handler 
-        * (insert into some magic hash index)
-        */
-       ALLOC_ZVAL(orbit_data_handle);  /* allocate memory for value */
-       
-       Z_TYPE_P(orbit_data_handle) = IS_LONG;
-       Z_LVAL_P(orbit_data_handle) = id;
-       
-       pval_copy_constructor(orbit_data_handle);       /* why? */
-       
-       INIT_PZVAL(orbit_data_handle);  /* set reference count */
-
-       zend_hash_index_update(
-                       Z_OBJPROP_P(php_object),                                        /* hashtable */
-                       0,                                                                                                                              /* hash??? */
-                       &orbit_data_handle,                                                             /* data */
-                       sizeof(pval *),                                                                         /* data size */
-                       NULL                                                                                                                    /* destination */
-                       );
-}
-
-/*
- * retrieve a corba object from a php object
- */
-void * orbit_retrieve_data(const zval * php_object, int wanted_type)
-{
-       void * data = NULL;
-       pval ** orbit_data_handle = NULL;
-       int type = 0;
-
-       if (!php_object)
-               return NULL;
-       
-       /* get handle to corba data */
-       zend_hash_index_find(                                                                           
-                       Z_OBJPROP_P(php_object),                                                /* hash table */        
-                       0,                                                                                                                                      /* hash??? */
-                       (void **)&orbit_data_handle                                     /* data */
-                       );
-
-       if (orbit_data_handle == NULL || *orbit_data_handle == NULL)
-       {
-               return NULL;
-       }
-
-       /* get corba data */
-       data = zend_list_find(
-                       Z_LVAL_PP(orbit_data_handle),   /* id */
-                       &type                                                                                                                           /* type */
-                       );
-
-       /* verify corba object */
-       if (!data || (type != wanted_type))
-       {
-               /* TODO: handle error */
-               return NULL;
-       }
-       
-       return data;
-}
-
-
diff --git a/ext/satellite/class.h b/ext/satellite/class.h
deleted file mode 100644 (file)
index 3490f2e..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Macros and things to simplify making PHP classes
- *
- * -----------------------------------------------------------------------
- */
-#ifndef __orbit_class_h__
-#define __orbit_class_h__
-
-#include <zend.h>
-#include <zend_API.h>
-
-#define CONSTRUCTOR            1
-#define DESTRUCTOR             2
-#define CALL_FUNCTION  4
-#define PUT_PROPERTY   8
-#define GET_PROPERTY   16
-#define NO_FUNCTIONS           (CONSTRUCTOR|DESTRUCTOR|PUT_PROPERTY|GET_PROPERTY)
-#define NO_PROPERTIES          (CONSTRUCTOR|DESTRUCTOR|CALL_FUNCTION)
-
-/*
- * sorry everyone but the constructor itself has to allocate the data
- * structure for member variables!
- *
- * it also has to deallocate this in the destructor...
- */
-typedef zend_bool (*Class_Constructor)
-       (void ** ppObject, int parameterCount, zval ** ppParameters);
-typedef zend_bool (*Class_Destructor)
-       (void * pObject);
-typedef zend_bool (*Class_CallFunction)
-       (void * pObject, const char * pFunctionName, int parameterCount, zval ** ppParameters, zval * pReturnValue);
-typedef zend_bool (*Class_PutProperty)
-       (void * pObject, const char * pPropertyName, const zval * pValue);
-typedef zend_bool (*Class_GetProperty)
-       (void * pObject, const char * pPropertyName, zval * pReturnValue);
-
-       /* put/get data connected to php object */
-void orbit_save_data(zval * pPhpObject, int type, void * pData);
-void * orbit_retrieve_data(const zval * pPhpObject, int type);
-
-void orbit_class_function_call(
-               zend_class_entry * pClass,
-               int dataType,
-               zend_property_reference *pPropertyReference, 
-               Class_Constructor pConstructor, 
-               Class_CallFunction pCallFunction,
-               INTERNAL_FUNCTION_PARAMETERS);
-
-/*
- * use this macro in the header file
- */
-#define DECLARE_CLASS(name) \
-typedef struct _##name  name##;        \
-zend_bool name##_Init(int module_number);      \
-void name##_SaveData(zval * pPhpObject, ##name * pData);\
-##name * name##_RetrieveData(const zval * pPhpObject);\
-zend_bool name##_PutProperty(##name * pObject, const char * pPropertyName, const zval * pValue);\
-zend_bool name##_GetProperty(##name * pObject, const char * pPropertyName, zval * pReturnValue);\
-/* end small macro */
-
-/*
- * Wrapper for a function call
- */
-#define IMPLEMENT_FUNCTION_CALL(name, flags)\
-static void _##name##_FunctionCall(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference * pPropertyReference) \
-{      \
-       orbit_class_function_call(      \
-                       &name##_class_entry,    \
-                       name##_data_type,       \
-                       pPropertyReference,     \
-                       ((flags) & CONSTRUCTOR) ?       (Class_Constructor)name##_Constructor : NULL,   \
-                       ((flags) & CALL_FUNCTION) ? (Class_CallFunction)name##_CallFunction : NULL,     \
-                       INTERNAL_FUNCTION_PARAM_PASSTHRU\
-                       );\
-}
-
-/*
- * wrapper for PutProperty
- */
-#define IMPLEMENT_PUT_PROPERTY(name, flags)\
-static int  _##name##_PutProperty(zend_property_reference * pPropertyReference, zval * pValue)\
-{\
-       int result = 0;\
-       if ((flags) & PUT_PROPERTY)\
-       {\
-               ##name * p_data = (##name *)orbit_retrieve_data(pPropertyReference->object, name##_data_type);\
-               /* get variable name element */\
-               zend_overloaded_element * p_attribute_element = \
-                       (zend_overloaded_element *)pPropertyReference->elements_list->tail->data;\
-               /* get variable name */\
-               char * p_attribute_name = p_attribute_element->element.value.str.val;\
-               if (p_data)\
-                       result = ##name##_PutProperty(p_data, p_attribute_name, pValue) ? SUCCESS : FAILURE;\
-               else\
-                       result = FAILURE;\
-       }\
-       else\
-       {\
-               zend_error(E_WARNING, "(Satellite) Can't set members in class");\
-       }\
-       return result;\
-}
-
-/*
- * wrapper for GetProperty
- */
-#define IMPLEMENT_GET_PROPERTY(name, flags)\
-static zval _##name##_GetProperty(zend_property_reference * pPropertyReference)\
-{\
-       zval value;\
-       ZVAL_NULL(&value);\
-       if ((flags) & GET_PROPERTY)\
-       {\
-               ##name * p_data = (##name *)orbit_retrieve_data(pPropertyReference->object, name##_data_type);\
-               /* get variable name element */\
-               zend_overloaded_element * p_attribute_element = \
-                       (zend_overloaded_element *)pPropertyReference->elements_list->tail->data;\
-               /* get variable name */\
-               char * p_attribute_name = p_attribute_element->element.value.str.val;\
-               if (p_data)\
-                       ##name##_GetProperty(p_data, p_attribute_name, &value);\
-       }\
-       else\
-       {\
-               zend_error(E_WARNING, "(Satellite) Can't get members in class");\
-       }\
-       return value;\
-}
-
-
-#define IMPLEMENT_INIT_EX(name, flags, functions, functioncall, getproperty, putproperty)\
-zend_bool name##_Init(int module_number)       \
-{      \
-       /* register data type */        \
-       name##_data_type = register_list_destructors(name##_Destructor, NULL);  \
-\
-       /* register class */    \
-       INIT_OVERLOADED_CLASS_ENTRY(    \
-               name##_class_entry,                     \
-               #name,                                                                  \
-               functions,                                                                      \
-               functioncall,   \
-               getproperty,    \
-               putproperty             \
-               );      \
-\
-       zend_register_internal_class(&name##_class_entry TSRMLS_CC);\
-       return TRUE;\
-}
-
-/*
- * initialize object, must be called from PHP_MINIT_FUNCTION etc
- */
-#define IMPLEMENT_INIT(name, flags) \
-IMPLEMENT_INIT_EX(name, flags, NULL, _##name##_FunctionCall, _##name##_GetProperty, _##name##_PutProperty)
-
-
-/* 
- * functions to save and retrieve data for the object
- */
-#define IMPLEMENT_DATA_HELPERS(name, flags)\
-void name##_SaveData(zval * pPhpObject, ##name * pData)\
-{\
-       orbit_save_data(pPhpObject, name##_data_type, pData);\
-}\
-##name * name##_RetrieveData(const zval * pPhpObject)\
-{\
-       return (##name *)orbit_retrieve_data(pPhpObject, name##_data_type);\
-}
-
-/*
- * static declarations for class
- */
-#define IMPLEMENT_DECLARATIONS(name, flags)\
-static zend_bool name##_Constructor(##name ** ppObject, int parameterCount, const zval ** ppParameters);\
-static zend_bool name##_Destructor(##name * pObject);\
-static zend_bool name##_CallFunction(##name * pObject, const char * pFunctionName, int parameterCount, const zval ** ppParameters, zval * pResult); \
-\
-static int name##_data_type = 0;       \
-static zend_class_entry name##_class_entry;
-
-/*
- * use this macro in the source file
- */
-#define IMPLEMENT_CLASS(name, flags)   \
-IMPLEMENT_DECLARATIONS(name, flags)            \
-IMPLEMENT_FUNCTION_CALL(name, flags)   \
-IMPLEMENT_PUT_PROPERTY(name, flags)            \
-IMPLEMENT_GET_PROPERTY(name, flags)            \
-IMPLEMENT_INIT(name, flags)                                            \
-IMPLEMENT_DATA_HELPERS(name, flags)    
-
-
-#endif /* __orbit_class_h__ */
-
diff --git a/ext/satellite/common.c b/ext/satellite/common.c
deleted file mode 100644 (file)
index 36020f3..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Some common stuff, now only memory allocation macros
- *
- * -----------------------------------------------------------------------
- */
-#include "common.h"
-
diff --git a/ext/satellite/common.h b/ext/satellite/common.h
deleted file mode 100644 (file)
index d01924f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Some common stuff, now only memory allocation macros
- *
- * -----------------------------------------------------------------------
- */
-#ifndef __common_h__
-#define __common_h__
-
-#include <zend.h>
-
-#define DEBUG_MEMORY   0
-
-#if DEBUG_MEMORY
-
-void * satellite_debug_calloc(int count, int length);
-void satellite_debug_free(void * pBuffer);
-char * satellite_debug_strdup(const char * pString);
-
-/* default memory allocation */
-#define satellite_new_n(type,n)        (type*)satellite_debug_calloc((n), sizeof(type))
-#define satellite_delete(p)                    satellite_debug_free(p)
-#define satellite_strdup(s)                    satellite_debug_strdup(s)
-
-#else
-
-/* default memory allocation */
-#define satellite_new_n(type,n)        (type*)ecalloc((n), sizeof(type))
-#define satellite_delete(p)                    if(p)efree(p)
-#define satellite_strdup(s)                    estrdup(s)
-
-#endif
-
-#define satellite_new_1(type)          satellite_new_n(type, 1)
-#define satellite_new(type)                    satellite_new_1(type)
-
-
-/* macros for old prefix "orbit_" */
-
-#define orbit_new_n(type,n)            satellite_new_n(type,n)
-#define orbit_delete(p)                                satellite_delete(p)
-#define orbit_strdup(s)                                satellite_strdup(s)
-#define orbit_new_1(type)                      satellite_new_1(type)
-#define orbit_new(type)                                satellite_new(type)
-
-#endif /* __common_h__ */
-
diff --git a/ext/satellite/config.m4 b/ext/satellite/config.m4
deleted file mode 100644 (file)
index 779ca59..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-dnl
-dnl $Id$
-dnl
-dnl vim: syntax=config
-
-PHP_ARG_WITH(satellite, for CORBA support via Satellite,
-[  --with-satellite[=DIR]  Enable CORBA support via Satellite (EXPERIMENTIAL)
-                          DIR is the base directory for ORBit])
-
-if test "$PHP_SATELLITE" != "no"; then
-  
-  dnl So, we have an extension called satellite
-       PHP_EXTENSION(satellite, $ext_shared)
-
-  dnl We want to use these variables in Makefile.in
-  PHP_SUBST(SATELLITE_SHARED_LIBADD)
-
-  dnl Now, where is ORBit?
-  AC_MSG_CHECKING(for ORBit)
-
-  dnl These directories look reasonable
-  for i in $PHP_SATELLITE /usr/local/orbit /usr/local /usr; do
-
-    dnl Does this look like an ORBit installation?
-    if test -e $i/include/orb/orbit.h; then
-
-      dnl Save directory and report result
-      ORBIT_PATH=$i
-      AC_MSG_RESULT(found in $i)
-      break
-
-    fi
-  done
-
-  dnl Abort if the loop above failed
-  if test -z "$ORBIT_PATH"; then
-    AC_MSG_RESULT(not found)
-    AC_MSG_ERROR(Please (re)install ORBit)
-  fi
-
-       dnl
-       dnl SATELLITE_CONFIG(config-name, path, [extra], message)
-       dnl
-       AC_DEFUN(SATELLITE_CONFIG,[
-
-               dnl look for config program
-               AC_PATH_PROG(satellite_$1, $1-config, , $2)
-               if test -z "$satellite_$1"; then 
-                       AC_MSG_ERROR($4)
-               fi
-
-               dnl get cflags
-               satellite_cflags=`$satellite_$1 --cflags $3`
-               if test -z "$satellite_cflags"; then
-                       AC_MSG_ERROR($4)
-               fi
-               PHP_EVAL_INCLINE($satellite_cflags)
-       
-               dnl get libs
-               satellite_libs=`$satellite_$1 --libs $3`
-               if test -z "$satellite_libs"; then
-                       AC_MSG_ERROR($4)
-               fi
-               PHP_EVAL_LIBLINE($satellite_libs)
-       ])
-       
-       SATELLITE_CONFIG(orbit, $ORBIT_PATH/bin, [client], [Please (re)install ORBit])
-       SATELLITE_CONFIG(libIDL, $ORBIT_PATH/bin, , [Please (re)install libIDL])
-       
-       dnl check for symbol giop_skip_atexit in libIIOP
-       PHP_CHECK_LIBRARY(IIOP, giop_skip_atexit, [], [
-               AC_MSG_ERROR([You need a CVS version of ORBit, please read ext/satellite/README])
-       ], "$ORBIT_LIBS" )
-
-  AC_DEFINE(HAVE_SATELLITE,1,[ ])
-fi
diff --git a/ext/satellite/corba.c b/ext/satellite/corba.c
deleted file mode 100644 (file)
index a2dcb8b..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Control access to CORBA_ORB and CORBA_Environment objects
- * Adjust these functions to get thread safety!
- *
- * -----------------------------------------------------------------------
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "corba.h"
-
-#include "php_config.h"        /* for COMPILE_DL_ORBIT */
-
-/* ZTS = thread-safe Zend */
-#ifdef ZTS
-#error ORBit support not thread-safe, you should at least modify corba.c
-#endif
-
-static CORBA_ORB corba_orb = NULL;
-static CORBA_Environment corba_environment;
-static CORBA_boolean corba_initialized = FALSE;
-
-CORBA_boolean orbit_corba_init()
-{
-       int argc = 1;
-       char * argv[2] = { "dummy", NULL };
-
-
-#if COMPILE_DL_SATELLITE
-       /*
-          IIOP normally registers a function with atexit, but that's pretty stupid
-          when it is called from a dynamic module that is unloaded before exit()
-          is called...
-        
-               "In addition, for David Eriksson (I think), added:
-                               int giop_skip_atexit;
-                       to IIOP. Applications may set this TRUE prior to invoking any
-                       CORBA_ORB_init() calls, and it will not invoke atexit. This is
-                       perhaps an ugly way of doing this, but I'm assuming this feature
-                       will only be used from within specialized sharedlib applications
-                       that know what they are doing...
-
-                       Kennard"
-        */
-       
-       giop_skip_atexit = TRUE;
-#endif
-
-       CORBA_exception_init(&corba_environment);
-       corba_orb = CORBA_ORB_init(
-                       &argc, argv, "orbit-local-orb", &corba_environment);
-
-       /* check return value */
-       if (corba_orb == NULL || orbit_caught_exception())
-       {
-/*             printf("orbit_corba_init failed\n");*/
-               return FALSE;
-       }
-
-       corba_initialized = TRUE;
-
-       return TRUE;
-}
-
-CORBA_boolean orbit_corba_shutdown()
-{
-       if (corba_initialized)
-       {
-               /* the orb's reference count is two.. what to do? */
-               CORBA_Object_release((CORBA_Object)corba_orb, &corba_environment);
-               CORBA_Object_release((CORBA_Object)corba_orb, &corba_environment);
-               /*CORBA_ORB_destroy(corba_orb, &corba_environment); */
-               
-               CORBA_exception_free(orbit_get_environment());
-
-               corba_initialized = FALSE;
-               corba_orb = NULL;
-               return TRUE;
-       }
-       else
-               return FALSE;
-}
-
-CORBA_ORB orbit_get_orb()
-{
-       return corba_orb;
-}
-
-CORBA_Environment * orbit_get_environment()
-{
-       return &corba_environment;
-}
-
-CORBA_boolean orbit_caught_exception()
-{
-#if 0 /*debug*/
-       if (orbit_get_environment()->_major != CORBA_NO_EXCEPTION)
-       {
-               printf("Caught exception %s\n", 
-                               CORBA_exception_id(orbit_get_environment()));
-       }
-#endif
-       return orbit_get_environment()->_major != CORBA_NO_EXCEPTION;
-}
-
diff --git a/ext/satellite/corba.h b/ext/satellite/corba.h
deleted file mode 100644 (file)
index f196028..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Control access to CORBA_ORB and CORBA_Environment objects
- */
-#ifndef __corba_h__
-#define __corba_h__
-
-#include <orb/orbit.h>
-
-/* corba handling */
-CORBA_boolean orbit_corba_init();
-CORBA_boolean orbit_corba_shutdown();
-CORBA_ORB orbit_get_orb();
-CORBA_Environment * orbit_get_environment();
-
-/* exception handling */
-CORBA_boolean orbit_caught_exception();
-#define orbit_error_test(info) orbit_caught_exception()
-
-#endif /* __corba_h__ */
-
diff --git a/ext/satellite/enum.c b/ext/satellite/enum.c
deleted file mode 100644 (file)
index 2d15d47..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * OrbitEnum class
- *
- * -----------------------------------------------------------------------
- */
-#include "enum.h"
-#include "typemanager.h"
-#include "common.h"
-#include "hashtable.h"
-
-struct _OrbitEnum
-{
-       EnumType * mpEnumType;
-       HashTable mMembers;
-};
-
-IMPLEMENT_CLASS(OrbitEnum, CONSTRUCTOR|DESTRUCTOR|GET_PROPERTY)
-
-
-static zend_bool OrbitEnum_InitializeMembers(OrbitEnum * pEnum)
-{
-       int enum_value = 0;
-       EnumMemberType * p_member = NULL;
-       
-       p_member = EnumType_GetFirstMember(pEnum->mpEnumType);
-
-       zend_hash_init(                                                                                 
-                       &pEnum->mMembers,                                       /* hash table */
-                       0,                                                                                                      /* size */
-                       NULL,                                                                                           /* hash function */
-                       ZVAL_DESTRUCTOR,                                                /* destructor */
-                       0);                                                                                                     /* persistent */
-
-       if (!EnumMemberType_IsValid(p_member))
-               return TRUE;    /* no members */
-       
-       do
-       {
-               zval * p_value = NULL;
-               char * p_name = EnumMemberType_GetName(p_member);
-
-               ALLOC_ZVAL(p_value);
-               ZVAL_LONG(p_value, enum_value);
-               
-               zend_hash_add(
-                       &pEnum->mMembers,
-                       p_name,
-                       strlen(p_name)+1,
-                       p_value,
-                       sizeof(zval),
-                       NULL
-                       );
-
-               /* set value for next member */
-               enum_value++;
-       
-       } while (EnumMemberType_GetNext(p_member));
-
-       return TRUE;
-}
-       
-zend_bool OrbitEnum_Constructor(OrbitEnum ** ppEnum, int parameterCount, 
-               const zval ** ppParameters)
-{
-       OrbitEnum * p_enum = orbit_new(OrbitEnum);
-
-       /* check parameter count */
-       if (parameterCount != 1)
-       {
-               zend_wrong_param_count(TSRMLS_C);
-               goto error;
-       }
-
-       /* validate parameter types */
-       if (Z_TYPE_P(ppParameters[0]) != IS_STRING)
-               goto error;
-
-       /* find type information */
-       p_enum->mpEnumType = TypeManager_FindEnum(Z_STRVAL_P(ppParameters[0]));
-       if (p_enum->mpEnumType == NULL)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown enum '%s'", Z_STRVAL_P(ppParameters[0]));
-               goto error;
-       }
-
-       /* initialize members */
-       if (!OrbitEnum_InitializeMembers(p_enum))
-               goto error;
-
-       *ppEnum = p_enum;
-       return TRUE;
-       
-error:
-/*     printf("OrbitEnum_Constructor failed\n");*/
-       OrbitEnum_Destructor(p_enum);
-       *ppEnum = NULL;
-       return FALSE;
-}
-
-zend_bool OrbitEnum_Destructor(OrbitEnum * pEnum)
-{
-/*     printf("OrbitEnum_Destructor\n");*/
-       
-       if (pEnum != NULL)
-       {
-               orbit_delete(pEnum->mpEnumType);
-       }
-
-       zend_hash_destroy(&pEnum->mMembers);
-       orbit_delete(pEnum);
-
-       return TRUE;
-}
-
-/* not used */
-zend_bool  OrbitEnum_CallFunction(OrbitEnum  * pEnum, 
-               const char * pFunctionName, int parameterCount, const zval ** ppParameters, zval * pResult)
-{
-       return FALSE;
-}
-
-/* not used */
-zend_bool OrbitEnum_PutProperty(OrbitEnum * pEnum, 
-               const char * pPropertyName, const zval * pValue)
-{
-       return FALSE;
-}
-
-zend_bool OrbitEnum_GetProperty(OrbitEnum * pEnum, 
-               const char * pPropertyName, zval * pReturnValue)
-{
-       zval * p_value = orbit_find_by_key(&pEnum->mMembers, pPropertyName);
-
-       if (p_value == NULL)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown member '%s' in enum '%s'",
-                               pPropertyName, EnumType_GetRepositoryId(pEnum->mpEnumType));
-
-               ZVAL_NULL(pReturnValue);
-               return FALSE;
-       }
-       else
-       {
-               memcpy(pReturnValue, p_value, sizeof(zval));            /* raw data copy */
-               zval_copy_ctor(pReturnValue);                                                                   /* smart data copy */
-               INIT_PZVAL(pReturnValue);                                                                                       /* set reference count */
-               return TRUE;
-       }
-}
-
diff --git a/ext/satellite/enum.h b/ext/satellite/enum.h
deleted file mode 100644 (file)
index 6926f7a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * OrbitEnum class
- */
-#ifndef __enum_h__
-#define __enum_h__
-
-#include "class.h"
-
-DECLARE_CLASS(OrbitEnum);
-
-#endif /* __enum_h__ */
diff --git a/ext/satellite/findtype.c b/ext/satellite/findtype.c
deleted file mode 100644 (file)
index 2b31766..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Used by typemanager.c and typecode.c
- */
-#include <orb/orbit.h>
-#include "findtype.h"
-
-typedef struct
-{
-       const char *                                    mpWantedId;
-       IDL_tree_type           mWantedType;
-       IdlInfo mIdlInfo;
-       CORBA_boolean mSuccess;
-} FindTypeData;
-
-static CORBA_boolean orbit_find_type_compare(
-               FindTypeData * pData, IDL_tree ident, IDL_tree type)
-{
-       if (pData == NULL || ident == NULL || type == NULL)
-               return TRUE;    /* continue */
-       
-       /* compare ids */
-       if (strcmp(pData->mpWantedId, IDL_IDENT(ident).repo_id) == 0 || 
-                       strcasecmp(pData->mpWantedId, IDL_IDENT(ident).str) == 0)
-       {
-               pData->mIdlInfo.mIdent = ident;
-               pData->mIdlInfo.mType = type;
-               pData->mSuccess = TRUE;
-               return FALSE;   /* stop */
-       }
-
-       return TRUE;
-}
-
-static CORBA_boolean orbit_find_type_helper(IDL_tree_func_data *tnfd, FindTypeData *pData)
-{
-       IDL_tree tree = tnfd->tree;
-/*     IDL_tree real_tree = tree; */
-       IDL_tree ident = NULL;
-       
-       /* must be any type or right type */
-       if (pData->mWantedType != IDLN_ANY && pData->mWantedType != IDL_NODE_TYPE(tree))
-       {
-               return TRUE;    /* continue */
-       }
-
-       switch(IDL_NODE_TYPE(tree))
-       {
-               case IDLN_ATTR_DCL:
-                       /* attributes */
-                       /* real_tree = IDL_ATTR_DCL(tree).param_type_spec; */
-                       
-                       /* 
-                        * XXX: this will only handle the FIRST 
-                        * ident connected to the attribute!
-                        */
-                       ident = IDL_LIST(IDL_ATTR_DCL(tree).simple_declarations).data;
-                       break;
-
-               case IDLN_EXCEPT_DCL:
-                       ident = IDL_EXCEPT_DCL(tree).ident;
-                       
-               case IDLN_INTERFACE:
-                       ident = IDL_INTERFACE(tree).ident;
-                       break;
-
-               case IDLN_OP_DCL:
-                       ident = IDL_OP_DCL(tree).ident;
-                       break;
-
-               case IDLN_TYPE_DCL:
-                       /* typedefs */
-                       /* real_tree = IDL_TYPE_DCL(tree).type_spec; */
-                       
-                       /* 
-                        * XXX: this will only handle the FIRST 
-                        * ident connected to the type!
-                        */
-                       ident = IDL_LIST(IDL_TYPE_DCL(tree).dcls).data;
-                       break;
-
-               case IDLN_TYPE_ENUM:
-                       ident = IDL_TYPE_ENUM(tree).ident;
-                       break;
-
-               case IDLN_TYPE_STRUCT:
-                       ident = IDL_TYPE_STRUCT(tree).ident;
-                       break;
-
-               /* TODO: handle more types! */
-
-               default:
-       }
-
-       return orbit_find_type_compare(pData, ident, /*real_*/tree);
-}
-
-CORBA_boolean orbit_find_type(
-               IDL_tree tree, const char * pWantedId, IDL_tree_type wantedType, IdlInfo * pIdlInfo)
-{
-       FindTypeData data;
-
-       memset(&data, 0, sizeof(data));
-       data.mpWantedId = pWantedId;
-       data.mWantedType = wantedType;
-
-       IDL_tree_walk_in_order(
-                       tree, 
-                       (IDL_tree_func)orbit_find_type_helper,
-                       &data);
-
-       *pIdlInfo = data.mIdlInfo;
-       
-       return data.mSuccess;
-}
-
-IDL_tree orbit_find_type_simple(IDL_tree tree, const char * pWantedId)
-{
-       IdlInfo info;
-       CORBA_boolean success = orbit_find_type(tree, pWantedId, IDLN_ANY, &info);
-       return success ? info.mType : NULL;
-}
-
diff --git a/ext/satellite/findtype.h b/ext/satellite/findtype.h
deleted file mode 100644 (file)
index c7f6096..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Used by typemanager.c and typecode.c
- */
-#ifndef __findtype_h__
-#define __findtype_h__
-
-#include <libIDL/IDL.h>
-
-typedef struct 
-{
-       IDL_tree        mIdent;
-       IDL_tree        mType;
-} IdlInfo;
-
-CORBA_boolean orbit_find_type(
-               IDL_tree tree, const char * pWantedId, IDL_tree_type wantedType,IdlInfo * pIdlInfo);
-IDL_tree orbit_find_type_simple(IDL_tree tree, const char * pWantedId);
-
-#endif /* __findtype_h__ */
-
diff --git a/ext/satellite/hashtable.c b/ext/satellite/hashtable.c
deleted file mode 100644 (file)
index a4b6487..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * HashTable helpers
- */
-#include "hashtable.h"
-#include "zend_API.h"
-
-#ifndef FALSE
-#define FALSE  0
-#endif
-
-/*
- * duplicate a zval
- */
-static zval * orbit_duplicate_zval(const zval * pValue)
-{
-       zval * p_new_value = NULL;
-
-       if (pValue == NULL)
-               return NULL;
-       
-       ALLOC_ZVAL(p_new_value);                                                                                        /* allocate */
-       memcpy(p_new_value, pValue, sizeof(zval));              /* raw data copy */
-       zval_copy_ctor(p_new_value);                                                                    /* smart data copy */
-       INIT_PZVAL(p_new_value);                                                                                        /* set reference count */
-
-       return p_new_value;
-}
-
-/*
- * store a zval in a hashtable with a key
- */
-zend_bool orbit_store_by_key(HashTable * pHashTable, const char * pKey, const zval * pValue)
-{
-       int result = FAILURE;
-       void * p_destination = NULL;
-       zval * p_new_value = NULL;
-
-       if (pHashTable == NULL || pKey == NULL || pValue == NULL)
-               return FALSE;
-
-       p_new_value = orbit_duplicate_zval(pValue);
-
-       result = zend_hash_update(
-               pHashTable,
-               (char *)pKey,   /* discard const */
-               strlen(pKey)+1,
-               p_new_value,
-               sizeof(zval),
-               &p_destination
-       );      
-       
-       return result == SUCCESS;
-}
-
-/*
- * find a zval in a hashtable with a key
- */
-zval * orbit_find_by_key(HashTable * pHashTable, const char * pKey)
-{
-       int result = FAILURE;
-       zval * p_value = NULL;
-
-       result = zend_hash_find(
-               pHashTable,
-               (char *)pKey,   /* discard const */
-               strlen(pKey)+1,
-               (void**)&p_value
-               );
-
-       if (result != SUCCESS)
-       {
-               p_value = NULL;
-       }
-
-       return p_value;
-}
-
-
diff --git a/ext/satellite/hashtable.h b/ext/satellite/hashtable.h
deleted file mode 100644 (file)
index cbeb33d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * HashTable helpers
- */
-#ifndef __hashtable_h__
-#define __hashtable_h__
-
-#include <zend.h>
-
-zval * orbit_find_by_key(HashTable * pHashTable, const char * pKey);
-zend_bool orbit_store_by_key(HashTable * pHashTable, const char * pKey, const zval * pValue);
-
-#endif /* __hashtable_h__ */
diff --git a/ext/satellite/multiple_components.patch b/ext/satellite/multiple_components.patch
deleted file mode 100644 (file)
index 5c50480..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -ur ../src/ORBit-20000902/src/orb/orbit_object.c ORBit-20000902/src/orb/orbit_object.c
---- ../src/ORBit-20000902/src/orb/orbit_object.c       Thu Aug  3 01:30:45 2000
-+++ ORBit-20000902/src/orb/orbit_object.c      Thu Aug  9 20:13:55 2001
-@@ -166,7 +166,7 @@
-       } else if(info->profile_type == IOP_TAG_ORBIT_SPECIFIC) {
-               g_free(info->tag.orbitinfo.unix_sock_path);
-       } else {
--              g_warning("ORBit_free_profile asked to free type %d", info->profile_type);
-+/*            g_warning("ORBit_free_profile asked to free type %d", info->profile_type);*/
-       }
-       g_free(info);   /* Check its safe to free the item within a foreach func */
-@@ -304,10 +304,10 @@
-       case IOP_TAG_MULTIPLE_COMPONENTS:
-       default:
-               GET_ATOM(subpart_len);
--              g_warning("IOP_TAG_MULTIPLE_COMPONENTS decoding needs finishing");
-+/*            g_warning("IOP_TAG_MULTIPLE_COMPONENTS decoding needs finishing");*/
-               object_info->profile_type = IOP_TAG_MULTIPLE_COMPONENTS;
-               recv_buffer->cur = ((guchar *)recv_buffer->cur) + subpart_len;
--              return(object_info);
-+              return NULL; /*(object_info);*/
-               break;
-       case IOP_TAG_ORBIT_SPECIFIC:
-@@ -381,7 +381,7 @@
-               GET_ATOM(profile_id);
-               object_info=ORBit_demarshal_profile(recv_buffer, profile_id);
-               if(object_info==NULL) {
--                      goto error_exit;
-+                      /*goto error_exit;*/
-               } else {
-                       profiles=g_slist_append(profiles, object_info);
-               }
diff --git a/ext/satellite/namedvalue_to_zval.c b/ext/satellite/namedvalue_to_zval.c
deleted file mode 100644 (file)
index 06af2a6..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Functions to convert a CORBA_NamedValue to a zval
- *
- * -----------------------------------------------------------------------
- */
-#include <zend_API.h>
-#include "namedvalue_to_zval.h"
-#include "common.h"
-#include "object.h"
-#include "struct.h"
-#include "corba.h"
-
-#include <ORBitutil/util.h>            /* for ALIGN_ADDRESS() */
-
-static zend_bool satellite_any_to_zval_boolean(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       CORBA_boolean * p_value = (CORBA_boolean *)pSource->_value;
-       ZVAL_BOOL(pDestination, *p_value != 0);
-       return TRUE;
-}
-
-static zend_bool satellite_any_to_zval_double(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       CORBA_double * p_value = (CORBA_double *)pSource->_value;
-       ZVAL_DOUBLE(pDestination, *p_value);
-       return TRUE;
-}
-
-static zend_bool satellite_any_to_zval_long(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       CORBA_long * p_value = (CORBA_long *)pSource->_value;
-       if (p_value)
-       {
-               ZVAL_LONG(pDestination, *p_value);
-               return TRUE;
-       }
-       else
-       {
-               return FALSE;
-       }
-}
-
-static zend_bool satellite_any_to_zval_short(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       CORBA_short * p_value = (CORBA_short *)pSource->_value;
-       ZVAL_LONG(pDestination, *p_value);
-       return TRUE;
-}
-
-
-static zend_bool satellite_any_to_zval_objref(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       CORBA_Object * p_value = (CORBA_Object *)pSource->_value;
-       CORBA_Object dup = 
-               CORBA_Object_duplicate(*p_value, orbit_get_environment());
-       
-       return OrbitObject_Create(dup, pDestination);
-}
-
-static zend_bool satellite_any_to_zval_sequence(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       int i;
-       int length = 0, step;
-       void ** pp_members = NULL;
-       zend_bool success = FALSE;
-       CORBA_NamedValue source_item;
-       zval * p_destination_item = NULL;
-       CORBA_TypeCode content_type = NULL;
-       CORBA_sequence_octet * p_value = 
-               (CORBA_sequence_octet *)pSource->_value;
-       
-       /* get array to items */
-       pp_members = (void **)p_value->_buffer;
-
-       /* get number of members */
-       length = p_value->_length;
-
-       /* get type of items */
-       content_type = CORBA_TypeCode_content_type(
-                       pSource->_type, orbit_get_environment());
-       if (content_type == NULL)
-               goto error;
-
-       /* set zval members */
-#if 0
-       pDZ_TYPE_P(estination) = IS_ARRAY;
-       pDestination->refcount = 1;
-
-       pDZ_ARRVAL_P(estination) = orbit_new(HashTable);
-
-       zend_hash_init(
-                       pDZ_ARRVAL_P(estination),               /* hash table */
-                       0,                                                                                              /* size */
-                       NULL,                                                                           /* hash function */
-                       ZVAL_PTR_DTOR,                                          /* destructor */
-                       0);                                                                                             /* persistent */
-#else
-       array_init(pDestination);
-#endif
-
-       step = content_type->length ? content_type->length : 1;
-
-       for (i = 0; i < length; i++)
-       {
-               p_destination_item = NULL;
-               memset(&source_item, 0, sizeof(CORBA_NamedValue));
-
-               source_item.argument._type = content_type;
-               source_item.argument._value = pp_members;
-
-               pp_members += step;
-
-               ALLOC_ZVAL(p_destination_item);
-               
-               /* convert item */
-               success = orbit_namedvalue_to_zval(
-                       &source_item,
-                       p_destination_item);
-
-               if (!success)
-                       goto error;
-
-               /* add to hashtable */
-               INIT_PZVAL(p_destination_item); /* testing! */
-               zend_hash_next_index_insert(
-                       Z_ARRVAL_P(pDestination),
-                       &p_destination_item,
-                       sizeof(zval *),
-                       NULL);
-
-/*             FREE_ZVAL(p_destination_item);*/
-       }
-
-       return TRUE;
-       
-error:
-       return FALSE;
-}
-
-static zend_bool satellite_any_to_zval_string(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       char ** pp_value = (char **)pSource->_value;
-       ZVAL_STRING(pDestination, (*pp_value), TRUE);
-       return TRUE;
-}
-
-static zend_bool satellite_any_to_zval_struct(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       int member_count = 0;
-       CORBA_TypeCode type = NULL;
-       char * p_repository_id = NULL;
-       OrbitStruct * p_struct = NULL;
-
-       /* make type a shortcut to the typecode */
-       type = pSource->_type;
-
-       /* find out the repository id */
-       p_repository_id = CORBA_TypeCode_id(type, orbit_get_environment());
-       /* do not check for exception because we may be converting one! */
-       if (p_repository_id == NULL)
-               goto error;
-
-       if (!OrbitStruct_Create(p_repository_id, pDestination))
-               goto error;
-
-       p_struct = OrbitStruct_RetrieveData(pDestination);
-       if (p_struct == NULL)
-               goto error;
-
-       /* now we know the source and destination matches! */
-       member_count = CORBA_TypeCode_member_count(type, orbit_get_environment());
-       /* do not check for exception because we may be converting one! */
-
-       if (member_count > 0)
-       {
-               int i;
-               zend_bool success;
-               zval destination_item;
-               CORBA_NamedValue source_item;
-               char * p_buffer = (char *)pSource->_value;
-               
-               for (i = 0; i < member_count; i++)
-               {
-                       int alignment;
-                       char * p_name = 
-                               CORBA_TypeCode_member_name(type, i, orbit_get_environment());
-                       if (p_name == NULL)
-                               goto error;
-                       
-                       /* prepare destination item */
-                       ZVAL_NULL(&destination_item);
-
-                       /* prepare source item */
-                       memset(&source_item, 0, sizeof(CORBA_NamedValue));
-                       source_item.argument._type = 
-                                       CORBA_TypeCode_member_type(type, i, orbit_get_environment());
-                       if (source_item.argument._type == NULL)
-                               goto error;
-
-                       /* align pointer and set value */
-                       alignment = ORBit_find_alignment(source_item.argument._type);
-                       p_buffer = ALIGN_ADDRESS(p_buffer, alignment);
-                       source_item.argument._value = p_buffer;
-                       
-                       /* convert item */
-                       if (!orbit_namedvalue_to_zval(&source_item, &destination_item))
-                               goto error;
-                       
-                       /* set attribute */
-                       success = OrbitStruct_PutProperty(p_struct, p_name, &destination_item);
-                       if (!success)   goto error;
-                       
-                       /* advance buffer */
-                       p_buffer += ORBit_gather_alloc_info(source_item.argument._type);
-               }
-       }
-
-       return TRUE;
-
-error: 
-       return FALSE;
-}
-
-zend_bool satellite_any_to_zval(
-               const CORBA_any * pSource, zval * pDestination)
-{
-       zend_bool success = FALSE;
-       CORBA_TCKind kind;
-  
-       if (pSource->_type == NULL || pDestination == NULL)
-               return FALSE;
-               
-       kind = CORBA_TypeCode_kind(
-                       pSource->_type, 
-                       orbit_get_environment());       /* does not throw exceptions */
-
-       switch (kind)
-       {
-               case CORBA_tk_boolean:
-                       success = satellite_any_to_zval_boolean(pSource, pDestination);
-                       break;
-               
-               case CORBA_tk_double:
-                       success = satellite_any_to_zval_double(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_enum:
-               case CORBA_tk_long:
-                       success = satellite_any_to_zval_long(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_objref:
-                       success = satellite_any_to_zval_objref(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_sequence:
-                       success = satellite_any_to_zval_sequence(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_short:
-                       success = satellite_any_to_zval_short(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_string:
-                       success = satellite_any_to_zval_string(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_struct:   /* 15 */
-               case CORBA_tk_except: /* 22 */
-                       success = satellite_any_to_zval_struct(pSource, pDestination);
-                       break;
-
-               default:
-/*                     printf("unsupported corba TCKind %i\n", kind);*/
-                       zend_error(E_WARNING, "(satellite) unsupported corba TCKind %i", kind);
-       }
-
-       return success;
-}
-
-zend_bool orbit_namedvalue_to_zval(
-               const CORBA_NamedValue * pSource, zval * pDestination)
-{
-       if (pSource == NULL)
-               return FALSE;
-
-       return satellite_any_to_zval(&pSource->argument, pDestination);
-}
-
-
diff --git a/ext/satellite/namedvalue_to_zval.h b/ext/satellite/namedvalue_to_zval.h
deleted file mode 100644 (file)
index ea12ed7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __namedvalue_to_zval_h__
-#define __namedvalue_to_zval_h__
-
-#include <zend.h>
-#include <orb/orbit.h>
-
-zend_bool orbit_namedvalue_to_zval(
-               const CORBA_NamedValue * pSource, zval * pDestination);
-
-zend_bool satellite_any_to_zval(
-               const CORBA_any * pSource, zval * pDestination);
-
-#endif /* __namedvalue_to_zval_h__ */
diff --git a/ext/satellite/object.c b/ext/satellite/object.c
deleted file mode 100644 (file)
index 3b2d468..0000000
+++ /dev/null
@@ -1,897 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- *
- * OrbitObject class
- *
- * There are three ways to create an object
- *
- * (1) OrbitObject_Constructor, for new OrbitObject(...) in PHP
- * (2) OrbitObject_Create, used when a CORBA method returns an object
- * (3) OrbitObject_Wakeup, used on "unserialization"
- *
- * -----------------------------------------------------------------------
- */
-#include <php.h>
-#include "php_orbit.h"
-
-#include "class.h"
-#include "corba.h"
-#include "common.h"
-#include "object.h"
-#include "typemanager.h"
-#include "namedvalue_to_zval.h"
-#include "zval_to_namedvalue.h"
-#include "typecode.h" /* for satellite_release_typecode */
-
-#define PROFILE        0
-
-#if PROFILE
-#include <sys/time.h>
-#include <unistd.h>
-#endif
-
-struct _OrbitObject
-{
-       CORBA_Object mCorbaObject;
-       InterfaceType * mpInterface;
-};
-
-static void OrbitObject_Wakeup(INTERNAL_FUNCTION_PARAMETERS);
-static void OrbitObject_Sleep(INTERNAL_FUNCTION_PARAMETERS);
-
-static zend_function_entry OrbitObject_class_functions[] =
-{
-       {"__sleep", OrbitObject_Sleep},
-       {"__wakeup", OrbitObject_Wakeup},
-       {NULL, NULL}
-};
-
-#define MY_IMPLEMENT_CLASS(name, flags)\
-IMPLEMENT_DECLARATIONS(name, flags)            \
-IMPLEMENT_FUNCTION_CALL(name, flags)   \
-IMPLEMENT_PUT_PROPERTY(name, flags)            \
-IMPLEMENT_GET_PROPERTY(name, flags)            \
-IMPLEMENT_INIT_EX(name, flags, ##name##_class_functions, _##name##_FunctionCall, _##name##_GetProperty, _##name##_PutProperty)\
-IMPLEMENT_DATA_HELPERS(name, flags)
-       
-MY_IMPLEMENT_CLASS(OrbitObject, ~0);
-
-CORBA_Object OrbitObject_GetCorbaObject(OrbitObject * pObject)
-{
-       if (pObject == NULL)
-               return FALSE;
-       else
-               return pObject->mCorbaObject;
-}
-#define IOR_PROPERTY_KEY               "IOR"
-
-/*
- * prepare for serialization
- *
- * this means creating a property containing the object IOR and returning an 
- * array containing the names of properties we want serialized
- *
- * TODO: save environment as property?!
- * 
- */
-static void OrbitObject_Sleep(INTERNAL_FUNCTION_PARAMETERS)
-{
-       CORBA_char * p_ior = NULL;
-       /* get object data */
-       OrbitObject * p_object = OrbitObject_RetrieveData(this_ptr);
-       
-       /* validate data */
-       if (p_object == NULL)
-       {
-               goto error;
-       }
-
-       /* get IOR from object */
-       p_ior = CORBA_ORB_object_to_string(
-                       orbit_get_orb(), p_object->mCorbaObject, orbit_get_environment());
-       if (p_ior == NULL || orbit_caught_exception())
-               goto error;
-       
-       /* add property to zval */
-       add_property_string(this_ptr, IOR_PROPERTY_KEY, p_ior, TRUE);
-       
-       /* create array */
-       array_init(return_value);
-
-       /* add name of property IOR to array */
-       add_next_index_string(return_value, IOR_PROPERTY_KEY, TRUE);
-
-       return;
-
-error:
-       RETURN_NULL();
-}
-
-/*
- * initialize OrbitObject structure
- */
-static zend_bool OrbitObject_InitializeData(OrbitObject * pObject, const char * pIor)
-{
-       /* get object */
-       pObject->mCorbaObject = CORBA_ORB_string_to_object(
-                       orbit_get_orb(), 
-                       pIor, 
-                       orbit_get_environment());
-
-       if (pObject->mCorbaObject == NULL || orbit_caught_exception())
-       {
-               zend_error(E_WARNING, "(Satellite) Unable to resolve IOR");
-               goto error;
-       }
-
-       /* find type info */
-       pObject->mpInterface = 
-               TypeManager_FindInterface(pObject->mCorbaObject->type_id);
-
-       if (pObject->mpInterface == NULL)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown interface '%s'",
-                               pObject->mCorbaObject->type_id);
-               /* TODO: set exception */
-               goto error;
-       }
-
-       return TRUE;
-
-error:
-       return FALSE;
-}
-
-/*
- * recover from serialization
- *
- * this means reading the property IOR and reconstructing the object!
- *
- */
-static void OrbitObject_Wakeup(INTERNAL_FUNCTION_PARAMETERS)
-{
-       zval ** pp_ior = NULL;
-       
-       /* create data object */
-       OrbitObject * p_object = orbit_new(OrbitObject);
-
-       /* find IOR property */
-       if (zend_hash_find(
-                               Z_OBJPROP_P(this_ptr), 
-                               IOR_PROPERTY_KEY, 
-                               sizeof(IOR_PROPERTY_KEY), 
-                               (void**)&pp_ior) != SUCCESS)
-       {
-               /* TODO: set exception */
-               goto error;
-       }
-
-       if ((*pp_ior)->type != IS_STRING)
-       {
-               /* TODO: set exception */
-               goto error;
-       }
-
-       /* initialize data */
-       if (!OrbitObject_InitializeData(
-                               p_object, 
-                               (*pp_ior)->value.str.val))
-       {
-               goto error;
-       }
-
-       /* save data to zval */
-       OrbitObject_SaveData(this_ptr, p_object);
-
-       return;
-
-error:
-       zend_error(E_WARNING, "(Satellite) Invalid serialized object");
-       OrbitObject_Destructor(p_object);
-}
-
-
-/* instansiate a class */
-zend_bool OrbitObject_Create(CORBA_Object source, zval * pDestination)
-{
-       OrbitObject * p_object = NULL;
-       
-       /* source might be NULL */
-       if (source == NULL)
-       {
-               ZVAL_NULL(pDestination);
-               return TRUE;
-       }
-       
-       /* allocate object */
-       p_object = orbit_new(OrbitObject);
-
-       /* save corba object */
-       p_object->mCorbaObject = source;
-       
-       /* find type info */
-       p_object->mpInterface = 
-               TypeManager_FindInterface(p_object->mCorbaObject->type_id);
-
-       if (p_object->mpInterface == NULL)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown interface '%s'",
-                               p_object->mCorbaObject->type_id);
-               goto error;
-       }
-
-       object_init_ex(pDestination, &OrbitObject_class_entry);
-
-       /* save orbit data */
-       OrbitObject_SaveData(pDestination, p_object);
-
-       return TRUE;
-       
-error:
-       OrbitObject_Destructor(p_object);
-       return FALSE;
-}
-
-
-
-/*
- * constructor
- *
- * parameters: IOR, OrbitEnvironment
- */
-zend_bool  OrbitObject_Constructor(OrbitObject  ** ppObject, 
-               int parameterCount, const zval ** ppParameters)
-{
-       OrbitObject * p_object = NULL;
-       
-       /* allocate object */
-       p_object = orbit_new(OrbitObject);
-
-       /* check parameter count */
-       if (parameterCount != 1)
-       {
-               zend_wrong_param_count(TSRMLS_C);
-               goto error;
-       }
-
-       /* validate parameter types */
-       if (Z_TYPE_P(ppParameters[0]) != IS_STRING)
-       {
-               zend_error(E_WARNING, "(Satellite) IOR is not a string");
-               goto error;
-       }
-
-       /* initialize data object */
-       if ( !OrbitObject_InitializeData(
-                       p_object,
-                       Z_STRVAL_P(ppParameters[0])) )
-       {
-               goto error;
-       }
-       
-       *ppObject = p_object;
-       return TRUE;
-
-error:
-       OrbitObject_Destructor(p_object);
-       *ppObject = NULL;
-
-       /* TODO: all errors above should set exceptions! */
-
-       return FALSE;
-}
-
-/*
- * destructor
- */
-zend_bool  OrbitObject_Destructor(OrbitObject  * pObject)
-{
-       InterfaceType_release(pObject->mpInterface);
-       
-       if (pObject->mCorbaObject != NULL)
-               CORBA_Object_release((CORBA_Object)pObject->mCorbaObject, NULL);
-
-       orbit_delete(pObject);
-
-       return TRUE;
-}
-
-/* 
- * prepare a function call result 
- */
-static CORBA_NamedValue * OrbitObject_PrepareResult(OrbitObject * pObject, 
-               OperationType * pOperation)
-{
-       CORBA_NamedValue * p_result = orbit_new(CORBA_NamedValue);
-
-       p_result->argument._type = OperationType_GetReturnType(pOperation);
-
-       if (p_result->argument._type == NULL)
-       {
-               orbit_delete(p_result);
-               p_result = NULL;
-       }
-       else
-       {
-               orbit_zval_to_namedvalue(NULL, p_result);
-       }
-       
-       return p_result;
-}
-
-/*
- * add an argument to a function call
- */
-static zend_bool OrbitObject_AddSingleArgument(OrbitObject * pObject, 
-               CORBA_Request request, ParameterType * pParameter, const zval * pSource, CORBA_NamedValue * pDestination)
-{
-       pDestination->argument._type = ParameterType_GetType(pParameter);
-       pDestination->arg_modes                  = ParameterType_GetPassingMode(pParameter);
-
-       /* if the argument is output only, don't care about input value */
-       if (pDestination->arg_modes == CORBA_ARG_OUT)
-               pSource = NULL;
-
-       if (!orbit_zval_to_namedvalue(pSource, pDestination))
-               return FALSE;
-
-       /* add parameter to request */
-       CORBA_Request_add_arg(
-               request,                                                                                        /* request  */
-               NULL,                                                                                                   /* arg_name */
-               pDestination->argument._type,           /* type     */
-               pDestination->argument._value,          /* value    */
-               pDestination->len,                                                              /* length   */
-               pDestination->arg_modes,                                        /* flags    */
-               orbit_get_environment()
-       );
-
-       if (orbit_caught_exception())
-               return FALSE;
-
-       return TRUE;
-}
-
-/*
- * add the function call arguments
- */
-static zend_bool OrbitObject_AddArguments(OrbitObject * pObject, 
-               CORBA_Request request, OperationType * pOperation, int argumentCount, 
-               const zval ** ppArguments, CORBA_NamedValue ** ppNamedValue)
-{
-       ParameterType * p_parameter = NULL;
-       int i = 0;
-       zend_bool success = FALSE;
-
-       if (argumentCount < 1)
-               return TRUE;    /* nothing to do */
-
-       p_parameter = OperationType_GetFirstParameter(pOperation);
-
-       if (NULL == p_parameter)
-               return FALSE; /* oups! */
-       
-       do
-       {
-               ppNamedValue[i] = satellite_new(CORBA_NamedValue);
-               success = OrbitObject_AddSingleArgument( pObject, 
-                               request, p_parameter, ppArguments[i], ppNamedValue[i]);
-
-               if (!success)
-                       goto error;
-
-               i++;
-       } while (i < argumentCount && ParameterType_GetNext(p_parameter));
-
-       /* i should equal argument count and there should be no more parameters */
-       if (i != argumentCount || ParameterType_GetNext(p_parameter))
-       {
-/*             printf("%i, %i, %i\n", i, argumentCount, ParameterType_IsValid(p_parameter));*/
-               
-               /* bad number of arguments */
-               zend_wrong_param_count(TSRMLS_C);
-               goto error;
-       }
-
-       success = TRUE;
-       goto exit;
-
-error:
-       success = FALSE;
-
-exit:
-       orbit_delete(p_parameter);
-       return success;
-
-}
-
-/*
- * release a namedvalue that we have allocated
- *
- * (move to another file?)
- */
-static void satellite_release_namedvalue(CORBA_NamedValue * pNamedValue)
-{
-       if (pNamedValue == NULL)
-               return;
-       
-       /* clear value */
-       if (pNamedValue->argument._value != NULL)
-       {
-               /* allocated with ORBit_alloc_tcval */
-               CORBA_free(pNamedValue->argument._value);
-       }
-
-       /* clear typecode */
-       satellite_release_typecode(pNamedValue->argument._type);
-
-       /* allocated with satellite_new */
-       satellite_delete(pNamedValue);
-}
-
-static void satellite_release_namedvalue_list(
-               CORBA_NamedValue ** ppNamedValue, int length)
-{
-       int i;
-       
-       if (ppNamedValue == NULL)
-               return;
-       
-       for (i = 0; i < length; i++)
-       {
-               /* release named values */
-               satellite_release_namedvalue(ppNamedValue[i]);
-               ppNamedValue[i] = NULL;
-       }
-
-       satellite_delete(ppNamedValue);
-}
-
-/*
- * post-process arguments (take care of output parameters, release memory)
- */
-static zend_bool OrbitObject_ReleaseArguments(OrbitObject * pObject, 
-               CORBA_Request request, OperationType * pOperation, int argumentCount, 
-               const zval ** ppArguments, CORBA_NamedValue ** ppNamedValue)
-{
-       /* TODO: handle output parameters */
-
-       return TRUE;
-}
-
-
-
-/*
- * call a function
- */
-zend_bool  OrbitObject_CallFunction(OrbitObject  * pObject, 
-               const char * pFunctionName, int parameterCount, const zval ** ppParameters, zval * pReturnValue)
-{
-       zend_bool success;
-       CORBA_Request request = NULL;
-       OperationType * p_operation = NULL;
-       CORBA_NamedValue ** pp_arguments = NULL;
-       CORBA_NamedValue * p_result = NULL;
-       CORBA_TypeCode * p_exception_list = NULL;
-       
-#if PROFILE
-       int i;
-       struct timeval tv[4];
-       gettimeofday(&tv[0], NULL);
-#endif
-       
-       /* clear exception */
-       CORBA_exception_free(orbit_get_environment());
-       
-       p_operation = InterfaceType_FindOperation(pObject->mpInterface, pFunctionName);
-
-       if (p_operation == NULL)
-       {
-               /* no such operation */
-               zend_error(E_WARNING, "(Satellite) unknown operation name '%s' in interface '%s'",
-                               pFunctionName, pObject->mCorbaObject->type_id);
-               goto error;
-       }
-
-       p_exception_list = OperationType_GetExceptionList(p_operation);
-       
-       /* XXX: it's ok if this returns NULL, because the operation may be void! */
-       p_result = OrbitObject_PrepareResult(pObject, p_operation);
-
-       /* create the request */
-       CORBA_Object_create_request2(
-               pObject->mCorbaObject,                                                                  /* object      */
-               NULL,                                                                                                                                           /* context     */
-               OperationType_GetName(p_operation),                     /* name        */
-               NULL,                                                                                                                                           /* arg_list    */
-               p_result,                                                                                                                               /* result      */
-               p_exception_list,                                                                                               /* user exception list */
-               &request,                                                                                                                               /* request     */
-               CORBA_OUT_LIST_MEMORY,                                                                  /* flags       */
-               orbit_get_environment()                                                                 /* environment */
-       );
-
-       /* check for exception */
-       if (orbit_caught_exception())
-               goto error;
-
-       /* add parameters */
-       pp_arguments = satellite_new_n(CORBA_NamedValue*, parameterCount);
-       success = OrbitObject_AddArguments(pObject, 
-                       request, p_operation, parameterCount, ppParameters, pp_arguments);
-
-       if (!success)
-       {
-               /* bad arguments */
-               goto error;
-       }
-
-#if PROFILE
-       gettimeofday(&tv[1], NULL);
-#endif
-
-       /* send request and get response */
-       CORBA_Request_invoke(request, 0, orbit_get_environment());
-
-#if PROFILE
-       gettimeofday(&tv[2], NULL);
-#endif
-
-       if (orbit_caught_exception())
-               goto error;
-
-       /* release arguments */
-       success = OrbitObject_ReleaseArguments(pObject, 
-                       request, p_operation, parameterCount, ppParameters, pp_arguments);
-       if (!success)
-               goto error;
-       
-       /* take care of return value */
-       if (p_result != NULL)
-       {
-               orbit_namedvalue_to_zval(p_result, pReturnValue);
-       }
-
-#if PROFILE
-       gettimeofday(&tv[3], NULL);
-       printf("%s\n", OperationType_GetName(p_operation));
-       for(i = 0; i < 4; i++)
-               printf("%i:%i\n", tv[i].tv_sec, tv[i].tv_usec);
-#endif
-
-       success = TRUE;
-       goto exit;
-       
-error:
-       /* TODO: all errors above should set exceptions! */
-       success = FALSE;
-
-exit:
-       CORBA_Object_release((CORBA_Object)request, orbit_get_environment());
-       satellite_release_namedvalue(p_result); 
-       satellite_release_namedvalue_list(pp_arguments, parameterCount);
-       orbit_delete(p_operation);
-       TypeCodeList_release(p_exception_list);
-       
-       return success;
-}
-
-#define GET_PREFIX "_get_"
-#define SET_PREFIX "_set_"
-#define GET_PREFIX_LENGTH (sizeof(GET_PREFIX)-1)
-#define SET_PREFIX_LENGTH (sizeof(SET_PREFIX)-1)
-
-
-/*
- * add an argument to a function call
- */
-static zend_bool OrbitObject_AddAttributeArgument(OrbitObject * pObject, 
-               CORBA_Request request, AttributeType * pAttribute, const zval * pSource)
-{
-       CORBA_NamedValue destination;
-       memset(&destination, 0, sizeof(CORBA_NamedValue));
-       
-       destination.argument._type = AttributeType_GetType(pAttribute);
-       destination.arg_modes            = CORBA_ARG_IN;
-
-       if (!orbit_zval_to_namedvalue(pSource, &destination))
-               return FALSE;
-
-       /* add parameter to request */
-       CORBA_Request_add_arg(
-               request,                                                                                        /* request  */
-               NULL,                                                                                                   /* arg_name */
-               destination.argument._type,             /* type     */
-               destination.argument._value,            /* value    */
-               destination.len,                                                                /* length   */
-               destination.arg_modes,                                  /* flags    */
-               orbit_get_environment()
-       );
-
-       if (orbit_caught_exception())
-               return FALSE;
-
-       return TRUE;
-}
-
-
-
-/*
- * set a php property, or rather a corba attribute
- */
-zend_bool  OrbitObject_PutProperty(OrbitObject  * pObject, 
-               const char * pPropertyName, const zval * pValue)
-{
-       zend_bool success;
-       char * p_name = NULL;
-       CORBA_Request request = NULL;
-       AttributeType * p_attribute = NULL;
-
-       /* clear exception */
-       CORBA_exception_free(orbit_get_environment());
-
-       /* find attribute type */
-       p_attribute = InterfaceType_FindAttribute(pObject->mpInterface, pPropertyName);
-
-       if (p_attribute == NULL)
-       {
-               /*printf("InterfaceType_FindAttribute failed for property %s\n", pPropertyName);*/
-               /* no such atttribute */
-               zend_error(E_WARNING, "(Satellite) unknown attribute name '%s' in interface '%s'",
-                               pPropertyName, pObject->mCorbaObject->type_id);
-               goto OrbitObject_PutProperty_error;
-       }
-
-       if (AttributeType_IsReadonly(p_attribute))
-       {
-               /* can't set a readonly attribute! */
-               goto OrbitObject_PutProperty_error;
-       }
-
-       /* create operation name */
-       p_name = orbit_new_n(char, strlen(pPropertyName) + SET_PREFIX_LENGTH + 1);
-       strcpy(p_name, SET_PREFIX);
-       strcat(p_name, AttributeType_GetName(p_attribute));
-
-       /* create the request */
-       CORBA_Object_create_request(
-               pObject->mCorbaObject,                                                                  /* object      */
-               NULL,                                                                                                                                           /* context     */
-               p_name,                                                                                                                                 /* name        */
-               NULL,                                                                                                                                           /* arg_list    */
-               NULL,                                                                                                                                           /* result      */
-               &request,                                                                                                                               /* request     */
-               CORBA_OUT_LIST_MEMORY,                                                                  /* flags       */
-               orbit_get_environment()                                                                 /* environment */
-       );
-
-       /* check for exception */
-       if (orbit_caught_exception())
-               goto OrbitObject_PutProperty_error;
-
-       if (request == NULL)
-               goto OrbitObject_PutProperty_error;
-
-       success = OrbitObject_AddAttributeArgument(
-                       pObject, request, p_attribute, pValue);
-
-       if (!success)
-               goto OrbitObject_PutProperty_error;
-
-       /* send request and get response */
-       CORBA_Request_invoke(request, 0, orbit_get_environment());
-
-       if (orbit_caught_exception())
-               goto OrbitObject_PutProperty_error;
-       
-       success = TRUE;
-       goto OrbitObject_PutProperty_exit;
-       
-OrbitObject_PutProperty_error:
-       /* TODO: all errors above should set exceptions! */
-       success = FALSE;
-       
-OrbitObject_PutProperty_exit:
-       CORBA_Object_release((CORBA_Object)request, orbit_get_environment());
-       orbit_delete(p_attribute);
-       orbit_delete(p_name);
-       
-       return success;
-}
-
-/* 
- * prepare a function call result 
- */
-static CORBA_NamedValue * OrbitObject_PrepareAttributeResult(OrbitObject * pObject, 
-               AttributeType * pAttribute)
-{
-       CORBA_NamedValue * p_result = orbit_new(CORBA_NamedValue);
-
-       p_result->argument._type = AttributeType_GetType(pAttribute);
-
-       if (p_result->argument._type == NULL)
-       {
-/*             printf("AttributeType_GetType failed for attribute %s\n", 
-                               AttributeType_GetName(pAttribute));*/
-               orbit_delete(p_result);
-               p_result = NULL;
-       }
-       else
-       {
-               orbit_zval_to_namedvalue(NULL, p_result);
-       }
-       
-       return p_result;
-}
-
-
-/*
- * get a php property, equal to a corba attribute
- */
-zend_bool  OrbitObject_GetProperty(OrbitObject  * pObject, 
-               const char * pPropertyName, zval * pReturnValue)
-{
-       zend_bool success;
-       char * p_name = NULL;
-       CORBA_Request request = NULL;
-       AttributeType * p_attribute = NULL;
-       CORBA_NamedValue * p_result = NULL;
-
-#if PROFILE
-       int i;
-       struct timeval tv[4];
-       gettimeofday(&tv[0], NULL);
-#endif
-       
-       /* clear exception */
-       CORBA_exception_free(orbit_get_environment());
-
-       /* find attribute type */
-       p_attribute = InterfaceType_FindAttribute(pObject->mpInterface, pPropertyName);
-
-       if (p_attribute == NULL)
-       {
-               /*printf("InterfaceType_FindAttribute failed for property %s\n", pPropertyName);*/
-               /* no such atttribute */
-               zend_error(E_WARNING, "(Satellite) unknown attribute name '%s' in interface '%s'",
-                               pPropertyName, pObject->mCorbaObject->type_id);
-               goto OrbitObject_GetProperty_error;
-       }
-
-       /* prepare result */
-       p_result = OrbitObject_PrepareAttributeResult(pObject, p_attribute);
-
-       if (p_result == NULL)
-       {
-               /* probably bad return type */
-               goto OrbitObject_GetProperty_error;
-       }
-
-       /* create operation name */
-       p_name = orbit_new_n(char, strlen(pPropertyName) + GET_PREFIX_LENGTH + 1);
-       strcpy(p_name, GET_PREFIX);
-       strcat(p_name, AttributeType_GetName(p_attribute));
-
-       /* create the request */
-       CORBA_Object_create_request(
-               pObject->mCorbaObject,                                                                  /* object      */
-               NULL,                                                                                                                                           /* context     */
-               p_name,                                                                                                                                 /* name        */
-               NULL,                                                                                                                                           /* arg_list    */
-               p_result,                                                                                                                               /* result      */
-               &request,                                                                                                                               /* request     */
-               CORBA_OUT_LIST_MEMORY,                                                                  /* flags       */
-               orbit_get_environment()                                                                 /* environment */
-       );
-
-       /* check for exception */
-       if (orbit_caught_exception())
-               goto OrbitObject_GetProperty_error;
-
-       if (request == NULL)
-               goto OrbitObject_GetProperty_error;
-
-#if PROFILE
-       gettimeofday(&tv[1], NULL);
-#endif
-
-       /* send request and get response */
-       CORBA_Request_invoke(request, 0, orbit_get_environment());
-
-#if PROFILE
-       gettimeofday(&tv[2], NULL);
-#endif
-       
-       if (orbit_caught_exception())
-               goto OrbitObject_GetProperty_error;
-       
-       /* take care of return value */
-       orbit_namedvalue_to_zval(p_result, pReturnValue);
-
-#if 0 /* PROFILE */
-       gettimeofday(&tv[3], NULL);
-       printf("%s\n", p_name);
-       for(i = 0; i < 4; i++)
-               printf("%i:%i\n", tv[i].tv_sec, tv[i].tv_usec);
-#endif
-       
-       success = TRUE;
-       goto OrbitObject_GetProperty_exit;
-       
-OrbitObject_GetProperty_error:
-       /* TODO: all errors above should set exceptions! */
-       success = FALSE;
-       
-OrbitObject_GetProperty_exit:
-       CORBA_Object_release((CORBA_Object)request, orbit_get_environment());
-       orbit_delete(p_attribute);
-       orbit_delete(p_name);
-       satellite_release_namedvalue(p_result);
-       
-       return success;
-}
-
-/* {{{ proto string satellite_object_to_string(object obj)
-        Convert an object to its string representation */
-PHP_FUNCTION(satellite_object_to_string)
-{
-       zval **arg = NULL;
-       char * p_ior = NULL;
-       OrbitObject * p_object = NULL;
-
-       if (zend_get_parameters_ex(1, &arg) != SUCCESS)
-       {
-               zend_error(E_WARNING, "(Satellite) Bad parameter count");
-               goto error;
-       }
-       
-       p_object = OrbitObject_RetrieveData(*arg);
-       if (!p_object)
-       {
-               zend_error(E_WARNING, "(Satellite) Object has no data");
-               goto error;
-       }
-
-       if (!p_object->mCorbaObject)
-       {
-               zend_error(E_WARNING, "(Satellite) Object has no CORBA object");
-               goto error;
-       }
-
-  p_ior = CORBA_ORB_object_to_string(orbit_get_orb(), p_object->mCorbaObject, 
-                       orbit_get_environment());
-
-       if (!p_ior /*|| orbit_caught_exception()*/)
-       {
-               zend_error(E_WARNING, "(Satellite) CORBA call failed");
-               goto error;
-       }
-
-       RETURN_STRING(p_ior, TRUE);
-
-error:
-       RETURN_NULL();
-}
-/* }}} */
diff --git a/ext/satellite/object.h b/ext/satellite/object.h
deleted file mode 100644 (file)
index 0057b76..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __orbit_object_h__
-#define __orbit_object_h__
-
-#include <orb/orbit.h>
-#include "class.h"
-
-DECLARE_CLASS(OrbitObject);
-
-CORBA_Object OrbitObject_GetCorbaObject(OrbitObject * pObject);
-zend_bool OrbitObject_Create(CORBA_Object source, zval * pDestination);
-
-
-#endif /* __orbit_object_h__ */
-
diff --git a/ext/satellite/php_orbit.c b/ext/satellite/php_orbit.c
deleted file mode 100644 (file)
index 6f53cc4..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Interface to PHP
- */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <php.h>
-#include <php_ini.h>    /* for DISPLAY_INI_ENTRIES() */
-#include <ext/standard/info.h> /* for php_info_print_table_*() */
-#include "php_orbit.h"
-#include "corba.h"
-#include "typemanager.h"
-#include "namedvalue_to_zval.h"
-
-/* classes */
-#include "enum.h"
-#include "object.h"
-#include "struct.h"
-
-
-#include "php_config.h"        /* for COMPILE_DL_ORBIT */
-
-/* see php4/README.SELF-CONTAINED-EXTENSIONS */
-#if COMPILE_DL_SATELLITE
-ZEND_GET_MODULE(satellite)
-#endif
-
-PHP_MINFO_FUNCTION(satellite);
-
-PHP_INI_BEGIN()
-       PHP_INI_ENTRY1("idl_directory", NULL, 0, NULL, NULL)
-PHP_INI_END()
-
-/*
- * functions in module
- */
-static function_entry satellite_functions[] = {
-       PHP_FE(satellite_load_idl,                                      NULL)
-       PHP_FE(satellite_get_repository_id, NULL)
-       PHP_FE(satellite_caught_exception,      NULL)
-       PHP_FE(satellite_exception_id,                  NULL)
-       PHP_FE(satellite_exception_value,       NULL)
-       PHP_FE(satellite_object_to_string,      NULL)
-
-       /* support the old prefix orbit_ */
-       PHP_FALIAS(orbit_load_idl,                                      satellite_load_idl,                                     NULL)
-       PHP_FALIAS(orbit_get_repository_id,     satellite_get_repository_id,    NULL)
-       PHP_FALIAS(orbit_caught_exception,      satellite_caught_exception,     NULL)
-       PHP_FALIAS(orbit_exception_id,                  satellite_exception_id,                         NULL)
-       PHP_FALIAS(orbit_exception_value,       satellite_exception_value,              NULL)
-
- {NULL, NULL, NULL}
-};
-
-
-/*
- * module entry
- */
-zend_module_entry satellite_module_entry = {
-       STANDARD_MODULE_HEADER,
-       "satellite",
-       satellite_functions,
-       PHP_MINIT(satellite),                   /* module startup */
-       PHP_MSHUTDOWN(satellite),       /* module shutdown */
-       NULL,                                                                                   /* request startup */
-       NULL,                                                                                   /* request shutdown */
-       PHP_MINFO(satellite),                   /* module info */
-       NO_VERSION_YET,
-       STANDARD_MODULE_PROPERTIES
-};
-
-/*
- * module initialization
- */
-PHP_MINIT_FUNCTION(satellite)
-{
-       zend_bool success;
-       
-       REGISTER_INI_ENTRIES();
-       
-       success = 
-               orbit_corba_init() &&
-               TypeManager_Init(INI_STR("idl_directory")) &&
-               OrbitEnum_Init(module_number) &&
-               OrbitObject_Init(module_number) &&
-               OrbitStruct_Init(module_number);
-
-       return success ? SUCCESS : FAILURE;
-}
-
-/*
- * shutdown module!
-*/
-PHP_MSHUTDOWN_FUNCTION(satellite)
-{
-       TypeManager_Shutdown();
-       orbit_corba_shutdown(); 
-       UNREGISTER_INI_ENTRIES();
-       return SUCCESS;
-}
-
-/*
- * some function
- */
-PHP_MINFO_FUNCTION(satellite) 
-{
-
-       php_info_print_table_start();
-       php_info_print_table_header(2, "CORBA support via Satellite", "enabled");
-       php_info_print_table_end();
-
-       DISPLAY_INI_ENTRIES();
-}
-
-/* {{{ proto bool satellite_load_idl(string file)
-        Instruct the type manager to load an IDL file if not already loaded */
-PHP_FUNCTION(satellite_load_idl)
-{
-       zval * p_parameter;
-       
-       if (ZEND_NUM_ARGS() != 1)
-       {
-               WRONG_PARAM_COUNT;
-               RETURN_NULL();
-       }
-
-       getParameters(ht, 1, &p_parameter);
-
-       if (Z_TYPE_P(p_parameter) != IS_STRING)
-       {
-               RETURN_NULL();
-       }
-
-       RETURN_BOOL(TypeManager_LoadFile(Z_STRVAL_P(p_parameter)));
-}
-/* }}} */
-
-/* {{{ proto int satellite_get_repository_id(object obj)
-        NOT IMPLEMENTED */
-/* 
- * NOT IMPLEMENTED
- *
- * get the repository id for an Orbit* object (nice for debugging...)
- */
-PHP_FUNCTION(satellite_get_repository_id)
-{
-}
-/* }}} */
-
-/* {{{ proto bool satellite_caught_exception(void)
-        See if an exception was caught from the previous function */
-PHP_FUNCTION(satellite_caught_exception)
-{
-       RETURN_BOOL(orbit_caught_exception());
-}
-/* }}} */
-
-/* {{{ proto string satellite_exception_id(void)
-        Get exception caught from the previous function */
-PHP_FUNCTION(satellite_exception_id)
-{
-       CORBA_char * p_id = CORBA_exception_id(orbit_get_environment());
-       
-       RETURN_STRING(p_id, TRUE);
-}
-/* }}} */
-
-/* {{{ proto object satellite_exception_value(void)
-        Get the exception struct for the latest exception */
-/* real name: php_if_orbit_exception_value */
-PHP_FUNCTION(satellite_exception_value)
-{
-       CORBA_NamedValue source;
-       ExceptionType * p_exception = NULL;
-       
-       memset(&source, 0, sizeof(CORBA_NamedValue));
-       
-       /* get exception type info */
-       p_exception = TypeManager_FindException(
-                       CORBA_exception_id(orbit_get_environment()));
-       
-       /* get exception typecode */
-       source.argument._type = ExceptionType_GetTypeCode(p_exception);
-       /* get exception value */
-       source.argument._value = CORBA_exception_value(orbit_get_environment());
-       
-       /* create structure with exception data */
-       orbit_namedvalue_to_zval(&source, return_value);
-}
-/* }}} */
diff --git a/ext/satellite/php_orbit.h b/ext/satellite/php_orbit.h
deleted file mode 100644 (file)
index 4f006f9..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef _PHP_ORBIT_H
-#define _PHP_ORBIT_H
-
-PHP_MINIT_FUNCTION(satellite);
-PHP_MSHUTDOWN_FUNCTION(satellite);
-extern zend_module_entry satellite_module_entry;
-
-#define satellite_module_ptr &satellite_module_entry
-#define phpext_satellite_ptr satellite_module_ptr
-
-PHP_FUNCTION(satellite_load_idl);
-PHP_FUNCTION(satellite_get_repository_id);
-PHP_FUNCTION(satellite_object_to_string);
-
-/* exception handling */
-PHP_FUNCTION(satellite_caught_exception);
-PHP_FUNCTION(satellite_exception_id);
-PHP_FUNCTION(satellite_exception_value);
-
-#endif  /* _PHP_ORBIT_H */
diff --git a/ext/satellite/struct.c b/ext/satellite/struct.c
deleted file mode 100644 (file)
index b961c3a..0000000
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * OrbitStruct class
- * 
- * There are three ways to create a structure
- *
- * (1) OrbitStruct_Constructor, for new OrbitStruct(...) in PHP
- * (2) OrbitStruct_Create, used when a CORBA method returns a struct
- * (3) OrbitStruct_Wakeup, used on "unserialization"
- * -----------------------------------------------------------------------
- */
-#include "struct.h"
-#include "common.h"
-#include "typemanager.h"
-#include "hashtable.h"
-
-/*
- * enable/disable incomplete serialization support
- */
-#define SERIALIZABLE_STRUCT            0
-
-struct _OrbitStruct
-{
-       HashTable mMembers;
-       zend_bool mIsException; /* otherwise normal struct */
-       union
-       {
-               StructType * mpStructType;
-               ExceptionType * mpExceptionType;
-       } u;
-};
-
-#if SERIALIZABLE_STRUCT
-
-static void OrbitStruct_Wakeup(INTERNAL_FUNCTION_PARAMETERS);
-static void OrbitStruct_Sleep(INTERNAL_FUNCTION_PARAMETERS);
-
-static zend_function_entry OrbitStruct_class_functions[] =
-{
-       {"__sleep", OrbitStruct_Sleep},
-       {"__wakeup", OrbitStruct_Wakeup},
-       {NULL, NULL}
-};
-
-#define MY_IMPLEMENT_CLASS(name, flags)\
-IMPLEMENT_DECLARATIONS(name, flags)            \
-IMPLEMENT_FUNCTION_CALL(name, flags)   \
-IMPLEMENT_PUT_PROPERTY(name, flags)            \
-IMPLEMENT_GET_PROPERTY(name, flags)            \
-IMPLEMENT_INIT_EX(name, flags, ##name##_class_functions, _##name##_FunctionCall, _##name##_GetProperty, _##name##_PutProperty)\
-IMPLEMENT_DATA_HELPERS(name, flags)
-       
-MY_IMPLEMENT_CLASS(OrbitStruct, NO_FUNCTIONS);
-
-#else  /* !SERIALIZABLE_STRUCT */
-
-IMPLEMENT_CLASS(OrbitStruct, NO_FUNCTIONS);
-
-#endif /* SERIALIZABLE_STRUCT */
-
-#if SERIALIZABLE_STRUCT
-
-/*
- * prepare for serialization
- */
-static void OrbitStruct_Sleep(INTERNAL_FUNCTION_PARAMETERS)
-{
-       /* get struct data */
-       OrbitStruct * p_struct = OrbitStruct_RetrieveData(this_ptr);
-       
-       /* validate data */
-       if (p_struct == NULL)
-       {
-               goto error;
-       }
-
-#if 0
-       /* add property to zval */
-       add_property_string(this_ptr, IOR_PROPERTY_KEY, p_ior, TRUE);
-       
-       /* create array */
-       array_init(return_value);
-
-       /* add name of property IOR to array */
-       add_next_index_string(return_value, IOR_PROPERTY_KEY, TRUE);
-#endif
-       
-       return;
-
-error:
-       RETURN_NULL();
-}
-
-static void OrbitStruct_Wakeup(INTERNAL_FUNCTION_PARAMETERS)
-{
-}
-
-#endif /* SERIALIZABLE_STRUCT */
-
-char * OrbitStruct_GetRepositoryId(OrbitStruct * pStruct)
-{
-       if (pStruct->mIsException)
-               return ExceptionType_GetRepositoryId(pStruct->u.mpExceptionType);
-       else
-               return StructType_GetRepositoryId(pStruct->u.mpStructType);
-}
-
-static zend_bool OrbitStruct_InitializeMembers(OrbitStruct * pStruct)
-{
-       MemberType * p_member = NULL;
-       if (pStruct->mIsException)
-               p_member = ExceptionType_GetFirstMember(pStruct->u.mpExceptionType);
-       else
-               p_member = StructType_GetFirstMember(pStruct->u.mpStructType);
-       
-       zend_hash_init(                                                                                 
-                       &pStruct->mMembers,                                     /* hash table */
-                       0,                                                                                                      /* size */
-                       NULL,                                                                                           /* hash function */
-                       ZVAL_DESTRUCTOR,                                                /* destructor */
-                       0);                                                                                                     /* persistent */
-
-       if (!MemberType_IsValid(p_member))
-               return TRUE;    /* no members */
-
-       do
-       {
-               zval * p_value = NULL;
-               char * p_name = MemberType_GetName(p_member);
-
-               ALLOC_ZVAL(p_value);
-               ZVAL_NULL(p_value);
-               
-               zend_hash_add(
-                               &pStruct->mMembers,
-                               p_name,
-                               strlen(p_name)+1,       /* important: include terminating zero byte */
-                               p_value,
-                               sizeof(zval),
-                               NULL
-                               );
-       } while (MemberType_GetNext(p_member));
-       
-       return TRUE;
-}
-
-static zend_bool OrbitStruct_Initialize(const char * pId, OrbitStruct * pStruct)
-{
-       /* find type info */
-       pStruct->u.mpStructType = TypeManager_FindStruct(pId);
-
-       if (pStruct->u.mpStructType == NULL)
-       {
-               /* not a struct -- maybe an exception? */
-               pStruct->u.mpExceptionType = TypeManager_FindException(pId);
-               if (pStruct->u.mpExceptionType == NULL)
-               {
-                       zend_error(E_WARNING, "(Satellite) unknown struct or exception '%s'", pId);
-               
-                       goto error;     
-               }
-
-               pStruct->mIsException = TRUE;
-       }
-
-       /* initialize members */
-       if (!OrbitStruct_InitializeMembers(pStruct))
-               goto error;     
-
-       return TRUE;
-
-error:
-       return FALSE;
-}
-
-/*
- * used by orbit_namedvalue_to_zval_struct(...)
- */
-zend_bool OrbitStruct_Create(const char * pId, zval * pDestination)
-{
-       /* allocate buffer */
-       OrbitStruct * p_struct = orbit_new(OrbitStruct);
-       
-       /* initialize struct */
-       if (!OrbitStruct_Initialize(pId, p_struct))
-               goto error;
-
-       object_init_ex(pDestination, &OrbitStruct_class_entry);
-
-       /* save orbit data */
-       OrbitStruct_SaveData(pDestination, p_struct);
-
-       return TRUE;
-
-error:
-       orbit_delete(p_struct);
-       return FALSE;
-}
-
-/*
- * Constructor
- *
- * Parameters: Repository ID of struct
- */
-zend_bool  OrbitStruct_Constructor(OrbitStruct  ** ppStruct, 
-               int parameterCount, const zval ** ppParameters)
-{
-       /* allocate buffer */
-       OrbitStruct * p_struct = orbit_new(OrbitStruct);
-
-       /* check parameter count */
-       if (parameterCount != 1)
-       {
-               zend_wrong_param_count(TSRMLS_C);
-               goto error;
-       }
-
-       /* validate parameter types */
-       if (Z_TYPE_P(ppParameters[0]) != IS_STRING)
-               goto error;
-       
-       /* initialize struct */
-       if (!OrbitStruct_Initialize(Z_STRVAL_P(ppParameters[0]), p_struct))
-               goto error;
-       
-       *ppStruct = p_struct;
-       return TRUE;
-
-error:
-       OrbitStruct_Destructor(p_struct);
-       *ppStruct = NULL;
-       return FALSE;
-}
-
-zend_bool  OrbitStruct_Destructor(OrbitStruct  * pStruct)
-{
-       if (pStruct->mIsException)
-               ExceptionType_release(pStruct->u.mpExceptionType);
-       else
-               StructType_release(pStruct->u.mpStructType);
-       
-       /* will crash on uninitialized members structure :-( */
-       zend_hash_destroy(&pStruct->mMembers);
-       orbit_delete(pStruct);
-
-       return TRUE;
-}
-
-/* not used */
-zend_bool  OrbitStruct_CallFunction(OrbitStruct  * pStruct, 
-               const char * pFunctionName, int parameterCount, const zval ** ppParameters, zval * pResult)
-{
-       return FALSE;
-}
-
-zend_bool  OrbitStruct_PutProperty(OrbitStruct  * pStruct, 
-               const char * pPropertyName, const zval * pValue)
-{
-       zend_bool result;
-       
-       result = orbit_store_by_key(&pStruct->mMembers, pPropertyName, pValue);
-
-       if (!result)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown member '%s' in struct '%s'",
-                               pPropertyName, OrbitStruct_GetRepositoryId(pStruct));
-       }
-
-       return result;
-}
-
-zend_bool  OrbitStruct_GetProperty(OrbitStruct  * pStruct, 
-               const char * pPropertyName, zval * pReturnValue)
-{
-       zval * p_value = orbit_find_by_key(&pStruct->mMembers, pPropertyName);
-
-       if (p_value == NULL)
-       {
-               zend_error(E_WARNING, "(Satellite) unknown member '%s' in struct '%s'",
-                               pPropertyName, OrbitStruct_GetRepositoryId(pStruct));
-
-               ZVAL_NULL(pReturnValue);
-               return FALSE;
-       }
-       else
-       {
-               memcpy(pReturnValue, p_value, sizeof(zval));            /* raw data copy */
-               zval_copy_ctor(pReturnValue);                                                                   /* smart data copy */
-               INIT_PZVAL(pReturnValue);                                                                                       /* set reference count */
-               return TRUE;
-       }
-}
-
diff --git a/ext/satellite/struct.h b/ext/satellite/struct.h
deleted file mode 100644 (file)
index acfd8b8..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __struct_h__
-#define __struct_h__
-
-#include "class.h"
-
-DECLARE_CLASS(OrbitStruct);
-
-char * OrbitStruct_GetRepositoryId(OrbitStruct * pStruct);
-zend_bool OrbitStruct_Create(const char * pId, zval * pDestination);
-
-
-#endif /* __struct_h__ */
diff --git a/ext/satellite/tests/001.phpt b/ext/satellite/tests/001.phpt
deleted file mode 100644 (file)
index 1247673..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-See if the satellite extension is loaded
---SKIPIF--
-<?php if (!extension_loaded("satellite")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php 
-echo "satellite extension is available";
-/*
-       you can add regression tests for your extension here
-
-  the output of your test code has to be equal to the
-  text in the --EXPECT-- section below for the tests
-  to pass, differences between the output and the
-  expected text are interpreted as failure
-
-       see php4/tests/README for further information on
-  writing regression tests
-*/
-?>
---EXPECT--
-satellite extension is available
diff --git a/ext/satellite/tests/002.phpt b/ext/satellite/tests/002.phpt
deleted file mode 100644 (file)
index c396b99..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---TEST--
-Create object of type Random from IOR
---SKIPIF--
-<?php if (!extension_loaded("satellite")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php
-satellite_load_idl("random.idl");
-$ior = "IOR:000000000000000f49444c3a52616e646f6d3a312e3000000000000100000000000000500001000000000016706c616e7874792e6473672e63732e7463642e69650006220000002c3a5c706c616e7874792e6473672e63732e7463642e69653a52616e646f6d3a303a3a49523a52616e646f6d00";
-$obj = new OrbitObject($ior);
-echo "Random object created";
-?>
---EXPECT--
-Random object created
diff --git a/ext/satellite/tests/003.phpt b/ext/satellite/tests/003.phpt
deleted file mode 100644 (file)
index 5d5e3d8..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Get a value from an object of type Random
---SKIPIF--
-<?php if (!extension_loaded("satellite")) print "skip";
-// internet connection needed, try to lookup www.php.net
-exec("host www.php.net 2>/dev/null", $output, $rv);
-if ($rv) print "skip";
-?>
---POST--
---GET--
---FILE--
-<?php
-//vim: syntax=php
-satellite_load_idl("random.idl");
-$ior = "IOR:000000000000000f49444c3a52616e646f6d3a312e3000000000000100000000000000500001000000000016706c616e7874792e6473672e63732e7463642e69650006220000002c3a5c706c616e7874792e6473672e63732e7463642e69653a52616e646f6d3a303a3a49523a52616e646f6d00";
-$obj = new OrbitObject($ior);
-$value = $obj->lrand48();
-echo "Random value retrieved";
-?>
---EXPECT--
-Random value retrieved
diff --git a/ext/satellite/tests/004.phpt b/ext/satellite/tests/004.phpt
deleted file mode 100644 (file)
index 4cc461b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-Get the IOR of an object
---SKIPIF--
-<?php if (!extension_loaded("satellite")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php
-satellite_load_idl("random.idl");
-$ior = "IOR:000000000000000f49444c3a52616e646f6d3a312e3000000000000100000000000000500001000000000016706c616e7874792e6473672e63732e7463642e69650006220000002c3a5c706c616e7874792e6473672e63732e7463642e69653a52616e646f6d3a303a3a49523a52616e646f6d00";
-$obj = new OrbitObject($ior);
-$ior2 = satellite_object_to_string($obj);
-echo ">$ior2<";
-?>
---EXPECT--
->IOR:010818080f00000049444c3a52616e646f6d3a312e3000000100000000000000500000000101000016000000706c616e7874792e6473672e63732e7463642e69650022062c0000003a5c706c616e7874792e6473672e63732e7463642e69653a52616e646f6d3a303a3a49523a52616e646f6d00<
diff --git a/ext/satellite/tests/005.phpt b/ext/satellite/tests/005.phpt
deleted file mode 100644 (file)
index f76fdd7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---TEST--
-Satellite compatibility: Create object of type Random
---SKIPIF--
-<?php if (!extension_loaded("satellite")) print "skip"; ?>
---POST--
---GET--
---FILE--
-<?php
-satellite_load_idl("random.idl");
-$ior = "IOR:000000000000000f49444c3a52616e646f6d3a312e3000000000000100000000000000500001000000000016706c616e7874792e6473672e63732e7463642e69650006220000002c3a5c706c616e7874792e6473672e63732e7463642e69653a52616e646f6d3a303a3a49523a52616e646f6d00";
-$obj = new OrbitObject($ior);
-echo "Random object created";
-?>
---EXPECT--
-Random object created
diff --git a/ext/satellite/tests/random.idl b/ext/satellite/tests/random.idl
deleted file mode 100644 (file)
index 54ffd84..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// This interface was copied from http://random.org/corba.html, where you can
-// also find the current IOR of the server.
-// See client.cc for details.
-
-// IDL
-interface Random {
-
-    // return non-negative long integer in the interval [0, 2^31)
-    long lrand48();
-
-    // return signed long integer in the interval [-2^31, 2^31)
-    long mrand48();
-};
-
diff --git a/ext/satellite/typecode.c b/ext/satellite/typecode.c
deleted file mode 100644 (file)
index 9e01a04..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * functions to convert IDL_tree info to CORBA_TypeCodes
- *
- * ought to be cleaned up...
- *
- * -----------------------------------------------------------------------
- */
-#include "corba.h"
-#include "common.h"
-#include "findtype.h"
-#include "typecode.h"
-
-void satellite_release_typecode(CORBA_TypeCode typecode)
-{
-       CORBA_Object_release((CORBA_Object)typecode, orbit_get_environment());
-}
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_enum(IDL_tree type)
-{
-       CORBA_TypeCode type_code;
-       CORBA_EnumMemberSeq * p_members = NULL;
-
-       p_members = CORBA_EnumMemberSeq__alloc();
-       p_members->_maximum = p_members->_length = 1;
-       p_members->_buffer = CORBA_sequence_CORBA_Identifier_allocbuf(p_members->_length);
-
-       p_members->_buffer[0] = "dummy";
-
-       /* 
-        * TODO: initialize p_members with members...
-        *       look at orbit_idl_tree_type_to_typecode_struct
-        */
-
-       type_code = CORBA_ORB_create_enum_tc(
-                       orbit_get_orb(),
-                       IDL_IDENT(IDL_TYPE_ENUM(type).ident).repo_id,
-                       IDL_IDENT(IDL_TYPE_ENUM(type).ident).str,
-                       p_members,
-                       orbit_get_environment());
-
-       if (orbit_error_test("CORBA_ORB_create_enum_tc"))
-       {
-               goto error;
-       }
-
-       if (type_code == NULL)
-       {
-/*             printf("unable to create enum typecode for type %s\n", 
-                               IDL_IDENT(IDL_TYPE_ENUM(type).ident).str);*/
-       }
-
-       goto exit;
-
-error:
-       type_code = NULL;
-
-exit:
-       CORBA_free(p_members);
-       return type_code;
-}
-
-/*
- * create a member sequence for a struct or exception
- */
-static CORBA_StructMemberSeq * orbit_create_member_sequence(IDL_tree member_list)
-{
-       int i = 0;
-       CORBA_StructMemberSeq * p_members = NULL;
-       IDL_tree first_member = member_list;
-       
-       p_members = CORBA_sequence_CORBA_StructMember__alloc();
-       /* this is initially set to false, why? */
-       p_members->_release = CORBA_TRUE;
-
-       /* ok with empty list */
-       if (member_list == NULL)
-               return p_members;
-       
-       /* first iteration, find out member count */
-       do
-       {
-               IDL_tree declaration = IDL_MEMBER(IDL_LIST(member_list).data).dcls;
-               if (declaration == NULL)        /* very unlikely! */
-                       continue;
-
-               do
-               {               
-                       p_members->_length++;
-               } while ((declaration = IDL_LIST(declaration).next));
-       } while ((member_list = IDL_LIST(member_list).next));
-
-       p_members->_maximum = p_members->_length;
-       p_members->_buffer = 
-               CORBA_sequence_CORBA_StructMember_allocbuf(p_members->_length);
-       
-       /* second iteration, set member data */
-       member_list = first_member;
-       do
-       {
-               IDL_tree declaration = IDL_MEMBER(IDL_LIST(member_list).data).dcls;
-               CORBA_TypeCode type_code = NULL;
-               
-               if (declaration == NULL)        /* very unlikely! */
-                       continue;
-
-               type_code = orbit_idl_tree_type_to_typecode(
-                               IDL_MEMBER(IDL_LIST(member_list).data).type_spec);
-
-               if (type_code == NULL)
-               {
-                       zend_error(E_WARNING, "(Satellite) unknown type for member %s", IDL_IDENT(IDL_LIST(declaration).data).str);
-                       goto error;
-               }
-               
-               do
-               {               
-                       char * p_name = IDL_IDENT(IDL_LIST(declaration).data).str;
-
-                       p_members->_buffer[i].name = CORBA_string_dup(p_name);
-                       p_members->_buffer[i].type = (CORBA_TypeCode)
-                               CORBA_Object_duplicate((CORBA_Object)type_code, orbit_get_environment());
-                       p_members->_buffer[i].type_def = NULL; /* XXX */
-
-                       i++;
-               } while ((declaration = IDL_LIST(declaration).next));
-
-               satellite_release_typecode(type_code);
-               
-       } while ((member_list = IDL_LIST(member_list).next));
-
-       goto exit;
-
-error:
-       /* TODO: error clean up */
-       CORBA_free(p_members);
-       p_members = NULL;
-       
-exit:
-       return p_members;
-}
-
-/*
- * create a CORBA_TypeCode for a struct
- */
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_struct(IDL_tree type)
-{
-       CORBA_TypeCode type_code = NULL;
-       CORBA_StructMemberSeq * p_members = NULL;
-
-#if 0
-       if (IDL_TYPE_STRUCT(type).member_list == NULL)
-       {
-               printf("no struct members\n");
-               goto error;
-       }
-#endif
-
-       p_members = orbit_create_member_sequence(IDL_TYPE_STRUCT(type).member_list);
-       if (p_members == NULL)
-               goto error;
-       
-       type_code = CORBA_ORB_create_struct_tc(
-                       orbit_get_orb(),
-                       IDL_IDENT(IDL_TYPE_STRUCT(type).ident).repo_id,
-                       IDL_IDENT(IDL_TYPE_STRUCT(type).ident).str,
-                       p_members,
-                       orbit_get_environment());
-
-       if (type_code == NULL)
-               goto error;
-
-       goto exit;
-
-error:
-       satellite_release_typecode(type_code);
-
-exit:
-       CORBA_free(p_members);
-       return type_code;
-}
-
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_float(IDL_tree type)
-{
-       enum IDL_float_type float_type = IDL_TYPE_FLOAT(type).f_type;
-
-       switch (float_type)
-       {
-               case IDL_FLOAT_TYPE_DOUBLE:     return TC_CORBA_double;
-
-               default:
-               /*      php_error(E_WARNING, "only double floats supported at the moment at the moment");*/
-                       return NULL;
-       }
-}
-
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_integer(IDL_tree type)
-{
-       enum IDL_integer_type integer_type = IDL_TYPE_INTEGER(type).f_type;
-
-       switch (integer_type)
-       {
-               case IDL_INTEGER_TYPE_SHORT:    return TC_CORBA_short;
-               case IDL_INTEGER_TYPE_LONG:     return TC_CORBA_long;
-
-               default:
-/*                     php_error(E_WARNING, "unsupported integer type %i", integer_type);*/
-                       return NULL;
-       }
-}
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_sequence(IDL_tree type)
-{
-       CORBA_TypeCode simple_typecode = orbit_idl_tree_type_to_typecode(
-                               IDL_TYPE_SEQUENCE(type).simple_type_spec);
-
-       CORBA_TypeCode typecode = CORBA_ORB_create_sequence_tc( 
-                       orbit_get_orb(), 
-                       0, /* bound */
-                       simple_typecode, 
-                       orbit_get_environment() );
-
-#if 0
-       if (typecode != NULL)
-       {
-               typecode->parent.interface = 0;
-               typecode->parent.refs = ORBIT_REFCNT_STATIC;    /* correct? */
-       }
-#endif
-
-       satellite_release_typecode(simple_typecode);
-
-       return typecode;
-}
-
-/*
- * get real type when we have an object/structure/union/enum ident
- */
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_ident(IDL_tree type)
-{
-       IDL_tree real_type = NULL;
-       IDL_tree whole_tree = type;
-       
-       /* go back to to top of tree (ugly code of the day!) */
-       while (whole_tree->up)
-               whole_tree = whole_tree->up;
-       
-       /* find the real type! */
-       real_type = orbit_find_type_simple(whole_tree, IDL_IDENT_REPO_ID(type));
-
-       /* check return value */
-       if (real_type == NULL)
-       {
-/*             php_error(E_WARNING, 
-                       "unknown repository id %s",
-                       IDL_IDENT_REPO_ID(type));*/
-               return FALSE;
-       }
-
-       /* call our generic function again... (hehehe) */
-       return orbit_idl_tree_type_to_typecode(real_type);
-}
-
-/*
- * make exception typecode
- */
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_exception(IDL_tree type)
-{
-       CORBA_TypeCode type_code = NULL;
-       CORBA_StructMemberSeq * p_members = NULL;
-
-#if 0
-       if (IDL_EXCEPT_DCL(type).members == NULL)
-       {
-               printf("no members\n");
-               goto error;
-       }
-#endif
-
-       p_members = orbit_create_member_sequence(IDL_EXCEPT_DCL(type).members);
-       if (p_members == NULL)
-               goto error;
-       
-       type_code = CORBA_ORB_create_exception_tc(
-                       orbit_get_orb(),
-                       IDL_IDENT(IDL_EXCEPT_DCL(type).ident).repo_id,
-                       IDL_IDENT(IDL_EXCEPT_DCL(type).ident).str,
-                       p_members,
-                       orbit_get_environment());
-
-       goto exit;
-
-error:
-       satellite_release_typecode(type_code);
-
-exit:
-       CORBA_free(p_members);
-       return type_code;
-
-}
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_interface(IDL_tree type)
-{
-       CORBA_TypeCode typecode = CORBA_ORB_create_interface_tc(
-               orbit_get_orb(),
-               IDL_IDENT(IDL_INTERFACE(type).ident).repo_id,
-               IDL_IDENT(IDL_INTERFACE(type).ident).str,
-               orbit_get_environment());
-
-#if 0
-       if (typecode != NULL)
-       {
-               typecode->parent.interface = 0;
-               typecode->parent.refs = ORBIT_REFCNT_STATIC;    /* correct? */
-       }
-#endif
-
-       return typecode;
-}
-
-static CORBA_TypeCode orbit_idl_tree_type_to_typecode_string(IDL_tree type)
-{
-       CORBA_TypeCode typecode = CORBA_ORB_create_string_tc(
-               orbit_get_orb(),
-               0,      /* bound */
-               orbit_get_environment());
-
-#if 0
-       if (typecode != NULL)
-       {
-               typecode->parent.interface = 0;
-               typecode->parent.refs = ORBIT_REFCNT_STATIC;    /* correct? */
-       }
-#endif
-
-       return typecode;
-}
-
-/* 
- * get a CORBA_TypeCode from a IDL_tree node type
- */
-CORBA_TypeCode orbit_idl_tree_type_to_typecode(IDL_tree type)
-{
-       CORBA_TypeCode type_code = NULL;
-       
-       if (type == NULL)
-       {
-               /* not good! */
-               return FALSE;
-       }
-
-       switch (IDL_NODE_TYPE(type))
-       {
-               case IDLN_EXCEPT_DCL:
-                       type_code = orbit_idl_tree_type_to_typecode_exception(type);
-                       break;
-               
-               case IDLN_IDENT:
-                       type_code = orbit_idl_tree_type_to_typecode_ident(type);
-                       break;
-
-               case IDLN_INTERFACE:
-                       /*type_code = TC_CORBA_Object; */
-                       type_code = orbit_idl_tree_type_to_typecode_interface(type);
-                       break;
-
-               case IDLN_TYPE_BOOLEAN:
-                       type_code = TC_CORBA_boolean;
-                       break;
-
-               case IDLN_TYPE_DCL:
-                       type_code = 
-                               orbit_idl_tree_type_to_typecode(IDL_TYPE_DCL(type).type_spec);
-                       break;
-
-               case IDLN_TYPE_ENUM:
-                       type_code = orbit_idl_tree_type_to_typecode_enum(type);
-                       break;
-
-               case IDLN_TYPE_FLOAT:
-                       type_code = orbit_idl_tree_type_to_typecode_float(type);
-                       break;
-                       
-               case IDLN_TYPE_INTEGER:
-                       type_code = orbit_idl_tree_type_to_typecode_integer(type);
-                       break;
-
-               case IDLN_TYPE_SEQUENCE:
-                       type_code = orbit_idl_tree_type_to_typecode_sequence(type);
-                       break;
-
-               case IDLN_TYPE_STRING:
-                       /*type_code = TC_CORBA_string; */
-                       type_code = orbit_idl_tree_type_to_typecode_string(type);
-                       break;
-               
-               case IDLN_TYPE_STRUCT:
-                       type_code = orbit_idl_tree_type_to_typecode_struct(type);
-                       break;
-       
-               /* TODO: handle more types */
-                               
-               default:
-/*                     printf("orbit_idl_tree_type_to_typecode can't handle type %s\n",
-                                       IDL_NODE_TYPE_NAME(type));*/
-       }
-
-       return type_code;
-}
-
-
diff --git a/ext/satellite/typecode.h b/ext/satellite/typecode.h
deleted file mode 100644 (file)
index e413119..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __typecode_h__
-#define __typecode_h__
-
-#include <libIDL/IDL.h>
-#include <orb/orbit.h>
-CORBA_TypeCode orbit_idl_tree_type_to_typecode(IDL_tree type);
-
-void satellite_release_typecode(CORBA_TypeCode typecode);
-
-#endif /* __typecode_h__ */
-
diff --git a/ext/satellite/typemanager.c b/ext/satellite/typemanager.c
deleted file mode 100644 (file)
index a2014b8..0000000
+++ /dev/null
@@ -1,598 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Type manager
- */
-#include <string.h>
-#include <orb/orbit.h>
-#include "common.h"
-#include "typemanager.h"
-#include "typecode.h"
-#include "findtype.h"
-#include <glob.h>
-
-struct _TypeManager 
-{
-/*     IDL_ns          mNamespace;*/
-       IDL_tree        mRoot;
-};
-
-static TypeManager gTypeManager;
-
-struct _InterfaceType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _StructType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _EnumType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _ExceptionType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _OperationType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _AttributeType 
-{
-       IdlInfo mIdlInfo;
-};
-
-struct _MemberType 
-{
-       IDL_tree mOuterList;
-       IDL_tree mInnerList;
-};
-
-struct _ParameterType 
-{
-       IDL_tree mList;
-};
-
-struct _EnumMemberType 
-{
-       IDL_tree mList;
-};
-
-#define PATTERN "/*.idl"
-#define PATTERN_LENGTH (sizeof(PATTERN)-1)
-
-CORBA_boolean TypeManager_Init(const char * pIdlDirectory)
-{
-       gTypeManager.mRoot = NULL;
-
-       if (pIdlDirectory != NULL)
-       {
-               glob_t result;
-               char * p_pattern = 
-                       orbit_new_n(char, strlen(pIdlDirectory) + PATTERN_LENGTH + 1);
-               strcpy(p_pattern, pIdlDirectory);
-               strcat(p_pattern, PATTERN);
-               
-               if (glob(p_pattern, 0, NULL, &result) == 0)
-               {
-                       /* success... */
-                       int i;
-                       for (i = 0; i < result.gl_pathc; i++)
-                       {
-                               TypeManager_LoadFile(result.gl_pathv[i]);
-                       }
-
-                       globfree(&result);
-               }
-
-               orbit_delete(p_pattern);
-       }
-       
-       return TRUE;
-}
-
-CORBA_boolean TypeManager_Shutdown()
-{
-       IDL_tree_free(gTypeManager.mRoot);
-       return TRUE;
-}
-
-CORBA_boolean TypeManager_LoadFile(const char * pFilename)
-{
-  int x;
-       IDL_tree root;
-       IDL_ns namespace;
-       IDL_tree list;
-
-  x = IDL_parse_filename(
-               pFilename, 
-               "", 
-               NULL, 
-               &root, &namespace,
-               IDLF_TYPECODES|IDLF_CODEFRAGS,
-               IDL_WARNING1);
-
-  if(IDL_SUCCESS != x) 
-       {
-/*             php_error(E_WARNING, "IDL_parse_filename returned %i");*/
-               return FALSE;
-  }
-
-       list = IDL_list_new(root);
-       
-       if (gTypeManager.mRoot == NULL)
-               gTypeManager.mRoot = list;
-       else
-               IDL_list_concat(gTypeManager.mRoot,list);
-
-       /* get rid of this immediatly? */
-       IDL_ns_free(namespace);
-       
-       return TRUE;
-}
-
-
-/* type manager functions */
-InterfaceType * TypeManager_FindInterface(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId)
-{
-       InterfaceType * pInterface = orbit_new(InterfaceType);
-       CORBA_boolean success = orbit_find_type(
-                       gTypeManager.mRoot, pRepositoryId, IDLN_INTERFACE, &pInterface->mIdlInfo);
-
-       if (!success)
-       {
-               orbit_delete(pInterface);
-               return NULL;
-       }
-               
-       return pInterface;
-}
-
-StructType * TypeManager_FindStruct(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId)
-{
-       StructType * pStruct = orbit_new(StructType);
-       CORBA_boolean success = orbit_find_type(
-                       gTypeManager.mRoot, pRepositoryId, IDLN_TYPE_STRUCT, &pStruct->mIdlInfo);
-
-       if (!success)
-       {
-               orbit_delete(pStruct);
-               pStruct = NULL;
-       }
-       
-       return pStruct;
-}
-
-EnumType * TypeManager_FindEnum(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId)
-{
-       EnumType * pEnum = orbit_new(EnumType);
-       CORBA_boolean success = orbit_find_type(
-                       gTypeManager.mRoot, pRepositoryId, IDLN_TYPE_ENUM, &pEnum->mIdlInfo);
-       if (!success)
-       {
-               orbit_delete(pEnum);
-               pEnum = NULL;
-       }
-       return pEnum;
-}
-
-ExceptionType * TypeManager_FindException(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId)
-{
-       ExceptionType * pException = orbit_new(ExceptionType);
-       CORBA_boolean success = orbit_find_type(
-                       gTypeManager.mRoot, pRepositoryId, IDLN_EXCEPT_DCL, &pException->mIdlInfo);
-       if (!success)
-       {
-               orbit_delete(pException);
-               pException = NULL;
-       }
-       return pException;
-}
-
-
-       
-/* 
-   find an operation in an interface tree, 
-   recursing into inherited interfaces  
-*/
-static CORBA_boolean
-findoperation_recurse( IDL_tree tree, const char *name,
-                      IdlInfo *pIdlInfo )
-{
-       IDL_tree inherited;
-       CORBA_boolean success;
-
-       success = orbit_find_type( IDL_INTERFACE(tree).body,
-                                  name, IDLN_OP_DCL, 
-                                  pIdlInfo );
-       if ( success ) 
-               return CORBA_TRUE;
-
-       for ( inherited = IDL_INTERFACE(tree).inheritance_spec;
-             inherited != NULL;
-             inherited = IDL_LIST(inherited).next ) {
-               IDL_tree ident = IDL_LIST(inherited).data;
-               InterfaceType *iface;
-
-               iface = TypeManager_FindInterface( IDL_IDENT(ident).repo_id );
-               success = findoperation_recurse( iface->mIdlInfo.mType, 
-                                                name, 
-                                                pIdlInfo );
-               orbit_delete( iface );
-
-               if ( success )
-                       return CORBA_TRUE;
-
-               zend_error( E_WARNING, "operation %s not found in iface %s\n", 
-                           name, IDL_IDENT(ident).repo_id );
-       }
-
-       return CORBA_FALSE;
-}
-
-/* find an operation in an interface based on case-insensitive name */
-OperationType * InterfaceType_FindOperation( InterfaceType * pInterface, 
-                                            const char * name )
-{
-       OperationType *pOperation = orbit_new(OperationType);
-       IDL_tree tree = pInterface->mIdlInfo.mType;
-       CORBA_boolean success;
-
-       success = findoperation_recurse( tree, name, 
-                                        &pOperation->mIdlInfo );
-       
-       if ( success )
-               return pOperation;
-
-       orbit_delete(pOperation);
-       return NULL;
-}
-
-/* find an attribute in an interface based on case-insensitive name */
-AttributeType * InterfaceType_FindAttribute(InterfaceType * pInterface, 
-               const char * name)
-{
-       AttributeType * pAttribute = orbit_new(AttributeType);
-       CORBA_boolean success = orbit_find_type(
-                       pInterface->mIdlInfo.mType, name, IDLN_ATTR_DCL, &pAttribute->mIdlInfo);
-       if (!success)
-       {
-               orbit_delete(pAttribute);
-               pAttribute = NULL;
-       }
-       return pAttribute;
-}
-
-/* return type */
-CORBA_TypeCode OperationType_GetReturnType(OperationType * pOperation)
-{
-       return orbit_idl_tree_type_to_typecode(
-                       IDL_OP_DCL(pOperation->mIdlInfo.mType).op_type_spec);
-}
-
-/* walk parameter list */
-ParameterType * OperationType_GetFirstParameter(OperationType * pOperation)
-{
-       ParameterType * pParameter = orbit_new(ParameterType);
-       pParameter->mList = 
-               IDL_OP_DCL(pOperation->mIdlInfo.mType).parameter_dcls;
-       return pParameter;
-}
-
-char * OperationType_GetName(OperationType * pOperation)
-{
-       if (pOperation && pOperation->mIdlInfo.mIdent)
-               return IDL_IDENT(pOperation->mIdlInfo.mIdent).str;
-       else
-               return NULL;
-}
-
-void TypeCodeList_release(CORBA_TypeCode * p_typecodes)
-{
-       CORBA_TypeCode * p_item = p_typecodes;
-       
-       if (p_typecodes == NULL)
-               return;
-       
-       /* delete each typecode */
-       while (*p_item)
-       {
-               satellite_release_typecode(*p_item);
-               p_item++; 
-       }
-       
-       satellite_delete(p_typecodes);
-}
-
-/*
- * the caller is responsible for calling TypeCodeList_release() 
- * on the return value!
- */
-CORBA_TypeCode * OperationType_GetExceptionList(OperationType * pOperation)
-{
-       int i;
-       IDL_tree exception_list = IDL_OP_DCL(pOperation->mIdlInfo.mType).raises_expr;
-       CORBA_TypeCode * p_typecodes = NULL;
-       
-       p_typecodes = orbit_new_n(CORBA_TypeCode, 
-                                                                                                               IDL_list_length(exception_list) + 1);
-
-       /* the list data is of type IDL_IDENT */
-       for (i = 0; exception_list != NULL; i++)
-       {
-               /* get typecode for exception */
-               p_typecodes[i] = 
-                       orbit_idl_tree_type_to_typecode(IDL_LIST(exception_list).data);
-               
-               exception_list = IDL_LIST(exception_list).next;
-       }
-
-       /* set typecode for last element */
-       p_typecodes[i] = CORBA_OBJECT_NIL;
-
-       return p_typecodes;
-
-#if 0
-error:
-       TypeCodeList_release(p_typecodes);
-       return NULL;
-#endif
-}
-
-
-       
-CORBA_boolean ParameterType_GetNext(ParameterType * pParameter)
-{
-       if (ParameterType_IsValid(pParameter))
-       {
-               pParameter->mList = IDL_LIST(pParameter->mList).next;
-               return pParameter->mList != NULL;
-       }
-       else
-               return FALSE;   
-}
-
-CORBA_boolean ParameterType_IsValid(ParameterType * pParameter)
-{
-       return pParameter && pParameter->mList;
-}
-
-/* get typecode for parameter */
-CORBA_TypeCode ParameterType_GetType(ParameterType * pParameter)
-{
-       return orbit_idl_tree_type_to_typecode(
-                       IDL_PARAM_DCL(IDL_LIST(pParameter->mList).data).param_type_spec);
-}
-
-/* return CORBA_ARG_IN, CORBA_ARG_OUT or CORBA_ARG_INOUT  */ 
-int ParameterType_GetPassingMode(ParameterType * pParameter)
-{
-       int flags = 0;
-       enum IDL_param_attr attr;
-       
-       if (pParameter == NULL || pParameter->mList == NULL)
-               return flags;
-
-       attr = IDL_PARAM_DCL(IDL_LIST(pParameter->mList).data).attr;
-       
-       /* check parameter passing mode */
-       switch (attr)
-       {
-               case IDL_PARAM_IN:              flags = CORBA_ARG_IN;           break;
-               case IDL_PARAM_OUT:     flags = CORBA_ARG_OUT;          break;
-               case IDL_PARAM_INOUT: flags = CORBA_ARG_INOUT;  break;
-               default:
-                       /* should not get here! */
-       }
-
-       return flags;
-
-}
-
-CORBA_boolean AttributeType_IsValid(AttributeType * pAttribute)
-{
-       return 
-               pAttribute != NULL && 
-               pAttribute->mIdlInfo.mType != NULL &&
-               pAttribute->mIdlInfo.mIdent != NULL;
-}
-
-/* is readonly? */
-CORBA_boolean AttributeType_IsReadonly(AttributeType * pAttribute)
-{
-       if (AttributeType_IsValid(pAttribute))
-               return IDL_ATTR_DCL(pAttribute->mIdlInfo.mType).f_readonly;
-       else
-               return FALSE;
-}
-
-
-/* get typecode for attribute */
-CORBA_TypeCode AttributeType_GetType(AttributeType * pAttribute)
-{
-       if (AttributeType_IsValid(pAttribute))
-               return orbit_idl_tree_type_to_typecode(
-                       IDL_ATTR_DCL(pAttribute->mIdlInfo.mType).param_type_spec);
-       else
-               return NULL;
-}
-
-/* get name of Attribute in true case */
-char * AttributeType_GetName(AttributeType * pAttribute)
-{
-       if (AttributeType_IsValid(pAttribute))
-               return IDL_IDENT(pAttribute->mIdlInfo.mIdent).str;
-       else
-               return NULL;
-}
-
-/* structure handling */
-MemberType * StructType_GetFirstMember(StructType * pStruct)
-{
-       /* very similar to ExceptionType_GetFirstMember */
-       MemberType * pMember = orbit_new(MemberType);
-       pMember->mOuterList = 
-               IDL_TYPE_STRUCT(pStruct->mIdlInfo.mType).member_list;
-       pMember->mInnerList = 
-               IDL_MEMBER(IDL_LIST(pMember->mOuterList).data).dcls;
-       return pMember;
-}
-
-char * StructType_GetRepositoryId(StructType * pStruct)
-{
-       return IDL_IDENT(IDL_TYPE_STRUCT(pStruct->mIdlInfo.mType).ident).repo_id;
-}
-
-/* exception handling */
-MemberType * ExceptionType_GetFirstMember(ExceptionType * pException)
-{
-       /* very similar to StructType_GetFirstMember */
-       MemberType * pMember = orbit_new(MemberType);
-       pMember->mOuterList = 
-               IDL_EXCEPT_DCL(pException->mIdlInfo.mType).members;
-       pMember->mInnerList = 
-               IDL_MEMBER(IDL_LIST(pMember->mOuterList).data).dcls;
-       return pMember;
-}
-
-char * ExceptionType_GetRepositoryId(ExceptionType * pException)
-{
-       return IDL_IDENT(IDL_EXCEPT_DCL(pException->mIdlInfo.mType).ident).repo_id;
-}
-
-/* get a typecode for this exception (used by orbit_exception_value) */
-CORBA_TypeCode ExceptionType_GetTypeCode(ExceptionType * pException)
-{
-       return orbit_idl_tree_type_to_typecode(pException->mIdlInfo.mType);
-}
-
-/*
- * Structure and exception members
- */
-CORBA_boolean MemberType_IsValid(MemberType * pMember)
-{
-       return pMember && pMember->mOuterList && pMember->mInnerList;
-}
-
-CORBA_boolean MemberType_GetNext(MemberType * pMember)
-{
-       if (pMember == NULL || pMember->mOuterList == NULL || pMember->mInnerList == NULL)
-               return FALSE;
-               
-       pMember->mInnerList = IDL_LIST(pMember->mInnerList).next;
-
-       /* if we're at the end of the inner list, advance the outer list */
-       if (pMember->mInnerList == NULL)
-       {
-               pMember->mOuterList = IDL_LIST(pMember->mOuterList).next;
-               if (pMember->mOuterList == NULL)
-                       return FALSE;
-
-               /* initialize inner list */
-               pMember->mInnerList = 
-                       IDL_MEMBER(IDL_LIST(pMember->mOuterList).data).dcls;
-       }
-
-       return TRUE;
-}
-
-char * MemberType_GetName(MemberType * pMember)
-{
-       if (pMember == NULL || pMember->mInnerList == NULL)
-               return NULL;
-       else
-               return IDL_IDENT(IDL_LIST(pMember->mInnerList).data).str;
-}
-
-/* for struct/exception */
-CORBA_TypeCode MemberType_GetType(MemberType * pMember);
-/* not used because this is only cared for in typecode.c */
-
-
-/*
- * Enumeration
- */
-
-char * EnumType_GetRepositoryId(EnumType * pEnum)
-{
-       return IDL_IDENT(IDL_TYPE_ENUM(pEnum->mIdlInfo.mType).ident).repo_id;
-}
-
-
-EnumMemberType * EnumType_GetFirstMember(EnumType * pEnum)
-{
-       if (pEnum != NULL)
-       {
-               EnumMemberType * pEnumMember = orbit_new(EnumMemberType);
-                       
-               pEnumMember->mList = 
-                       IDL_TYPE_ENUM(pEnum->mIdlInfo.mType).enumerator_list;
-               
-               return pEnumMember;
-       }
-       else
-               return NULL;
-}
-
-CORBA_boolean EnumMemberType_IsValid(EnumMemberType * pEnumMember)
-{
-       return pEnumMember && pEnumMember->mList;
-}
-
-CORBA_boolean EnumMemberType_GetNext(EnumMemberType * pEnumMember)
-{
-       /* reuse object! */
-       pEnumMember->mList = IDL_LIST(pEnumMember->mList).next;
-
-       return pEnumMember->mList != NULL;
-}
-
-char * EnumMemberType_GetName(EnumMemberType * pEnumMember)
-{
-       return IDL_IDENT(IDL_LIST(pEnumMember->mList).data).str;
-}
-
-
-/* release types */
-void AttributeType_release(AttributeType * pMember) { orbit_delete(pMember); }
-void EnumMemberType_release(EnumMemberType * pMember) { orbit_delete(pMember); }
-void ExceptionType_release(ExceptionType * pException) { orbit_delete(pException); }
-void InterfaceType_release(InterfaceType * pInterface) { orbit_delete(pInterface); }
-void MemberType_release(MemberType * pMember) { orbit_delete(pMember); }
-void OperationType_release(OperationType * pOperation) { orbit_delete(pOperation); }
-void ParameterType_release(ParameterType * pParameter) { orbit_delete(pParameter); }
-void StructType_release(StructType * pStruct) { orbit_delete(pStruct); }
-
-
diff --git a/ext/satellite/typemanager.h b/ext/satellite/typemanager.h
deleted file mode 100644 (file)
index 07d0523..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __typemanager_h__
-#define __typemanager_h__
-
-#include <orb/orbit.h>
-
-typedef struct _TypeManager TypeManager;
-typedef struct _InterfaceType InterfaceType;
-typedef struct _StructType StructType;
-typedef struct _EnumType EnumType;
-typedef struct _ExceptionType ExceptionType;
-typedef struct _OperationType OperationType;
-typedef struct _AttributeType AttributeType;
-typedef struct _MemberType MemberType;
-typedef struct _ParameterType ParameterType;
-typedef struct _EnumMemberType EnumMemberType;
-
-/* type manager */
-CORBA_boolean TypeManager_Init(const char * pIdlDirectory);
-CORBA_boolean TypeManager_Shutdown();
-
-CORBA_boolean TypeManager_LoadFile(const char * pFilename);
-InterfaceType * TypeManager_FindInterface(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId);
-StructType * TypeManager_FindStruct(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId);
-EnumType * TypeManager_FindEnum(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId);
-ExceptionType * TypeManager_FindException(/*TypeManager * pTypeManager, */
-               const char * pRepositoryId);
-
-/* interface */
-OperationType * InterfaceType_FindOperation(InterfaceType * pInterface, 
-               const char * name);
-AttributeType * InterfaceType_FindAttribute(InterfaceType * pInterface, 
-               const char * name);
-
-/* operation */
-ParameterType * OperationType_GetFirstParameter(OperationType * pOperation);
-CORBA_TypeCode OperationType_GetReturnType(OperationType * pOperation);
-char * OperationType_GetName(OperationType * pOperation);
-CORBA_TypeCode * OperationType_GetExceptionList(OperationType * pOperation);
-
-/* parameter */
-CORBA_boolean ParameterType_GetNext(ParameterType * pParameter);
-int ParameterType_GetPassingMode(ParameterType * pParameter);
-CORBA_TypeCode ParameterType_GetType(ParameterType * pParameter);
-CORBA_boolean ParameterType_IsValid(ParameterType * pParameter);
-
-/* attribute */
-char * AttributeType_GetName(AttributeType * pAttribute);
-CORBA_TypeCode AttributeType_GetType(AttributeType * pAttribute);
-CORBA_boolean AttributeType_IsReadonly(AttributeType * pAttribute);
-CORBA_boolean AttributeType_IsValid(AttributeType * pAttribute);
-
-/* struct */
-MemberType * StructType_GetFirstMember(StructType * pStruct);
-char * StructType_GetRepositoryId(StructType * pStruct);
-
-/* exception */
-MemberType * ExceptionType_GetFirstMember(ExceptionType * pException);
-char * ExceptionType_GetRepositoryId(ExceptionType * pException);
-CORBA_TypeCode ExceptionType_GetTypeCode(ExceptionType * pException);
-
-/* member */
-CORBA_boolean MemberType_GetNext(MemberType * pMember);
-char * MemberType_GetName(MemberType * pMember);
-CORBA_TypeCode MemberType_GetType(MemberType * pMember);
-CORBA_boolean MemberType_IsValid(MemberType * pMember);
-
-/* enum */
-EnumMemberType * EnumType_GetFirstMember(EnumType * pEnum);
-CORBA_boolean EnumMemberType_GetNext(EnumMemberType * pEnumMember);
-CORBA_boolean EnumMemberType_IsValid(EnumMemberType * pEnumMember);
-char * EnumMemberType_GetName(EnumMemberType * pEnumMember);
-char * EnumType_GetRepositoryId(EnumType * pEnum);
-
-/* release types */
-void AttributeType_release(AttributeType * pMember);
-void EnumMemberType_release(EnumMemberType * pMember);
-void ExceptionType_release(ExceptionType * pException);
-void InterfaceType_release(InterfaceType * pInterface);
-void MemberType_release(MemberType * pMember);
-void OperationType_release(OperationType * pOperation);
-void ParameterType_release(ParameterType * pParameter);
-void StructType_release(StructType * pStruct);
-void TypeCodeList_release(CORBA_TypeCode * p_typecodes);
-
-#endif /* __typemanager_h__ */
-
diff --git a/ext/satellite/zval_to_namedvalue.c b/ext/satellite/zval_to_namedvalue.c
deleted file mode 100644 (file)
index 71d01cb..0000000
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/* -----------------------------------------------------------------------
- * 
- * Functions to convert a zval to a CORBA_NamedValue
- *
- * -----------------------------------------------------------------------
- */
-#include <zend_API.h>
-#include "zval_to_namedvalue.h"
-#include "object.h"
-#include "struct.h"
-#include "common.h"
-#include "corba.h"
-
-#include <ORBitutil/util.h>            /* for ALIGN_ADDRESS() */
-
-/*
- * value should be a CORBA_boolean *
- */
-static zend_bool satellite_zval_to_namedvalue_boolean(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       CORBA_boolean * p_value = (CORBA_boolean *)pDestination->argument._value;
-
-       pDestination->len = sizeof(CORBA_boolean);
-
-       if (pSource == NULL)
-               return TRUE;
-               
-       if (Z_TYPE_P(pSource) != IS_BOOL && Z_TYPE_P(pSource) != IS_LONG)
-               return FALSE;
-
-       *p_value = Z_LVAL_P(pSource) != 0;
-
-       return TRUE;
-}
-
-
-/*
- * value should be a double *
- */
-static zend_bool satellite_zval_to_namedvalue_double(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       CORBA_double * p_value = (CORBA_double *)pDestination->argument._value;
-
-       pDestination->len = sizeof(CORBA_double);
-
-       if (pSource == NULL)
-               return TRUE;
-               
-       /*convert_to_double(pSource);*/
-       if (Z_TYPE_P(pSource) != IS_DOUBLE)
-               return FALSE;
-
-       *p_value = Z_DVAL_P(pSource);
-
-       return TRUE;
-}
-
-/*
- * value should be a long *
- */
-static zend_bool satellite_zval_to_namedvalue_long(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       CORBA_long * p_value = (CORBA_long *)pDestination->argument._value;
-       pDestination->len = sizeof(CORBA_long);
-
-       if (pSource == NULL)
-               return TRUE;
-       
-       convert_to_long((zval*)pSource);        /* so long "const" */
-       if (Z_TYPE_P(pSource) != IS_LONG)
-               return FALSE;
-
-       *p_value = Z_LVAL_P(pSource);
-
-       return TRUE;
-}
-
-/*
- * value should be a short *
- */
-static zend_bool satellite_zval_to_namedvalue_short(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       CORBA_short * p_value = (CORBA_short *)pDestination->argument._value;
-       pDestination->len = sizeof(CORBA_short);
-
-       if (pSource == NULL)
-               return TRUE;
-       
-/*     convert_to_long((zval *)pSource);*/     /* discard const */;
-       if (Z_TYPE_P(pSource) != IS_LONG)
-       {
-/*             printf("source value type is %i in satellite_zval_to_namedvalue_short\n", Z_TYPE_P(pSource));*/
-               return FALSE;
-       }
-
-       *p_value = Z_LVAL_P(pSource);
-
-       return TRUE;
-}
-
-/*
- * convert an OrbitObject to a CORBA object
- *
- * value should just be a CORBA_Object
- */
-static zend_bool satellite_zval_to_namedvalue_objref(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       OrbitObject * pObject = NULL;
-       CORBA_Object * p_value = (CORBA_Object*)&pDestination->argument._value;
-               
-       pDestination->len = 1;
-
-       if (pSource == NULL)
-               return TRUE; /* nothing else to do */
-
-       if (Z_TYPE_P(pSource) != IS_OBJECT)
-               goto error;
-
-       /* see that it's a corba object */
-       if (strcmp(Z_OBJCE_P(pSource)->name, "OrbitObject") != 0)
-               goto error; /* bad class type */
-
-       pObject = OrbitObject_RetrieveData(pSource);
-       if (pObject == NULL)
-               goto error; /* unexpected error */
-               
-       *p_value = OrbitObject_GetCorbaObject(pObject);
-       
-       /* debug */
-/*     (CORBA_Object)pDestination->argument._value = OrbitObject_GetCorbaObject(pObject);*/
-
-       if (*p_value == NULL)
-       {
-/*             printf("NULL object in satellite_zval_to_namedvalue_objref\n");*/
-               goto error;
-       }
-
-/*     printf("satellite_zval_to_namedvalue_objref: %s\n", Z_TYPE_PP(p_value)_id);*/
-               
-       return TRUE;
-
-error:
-       return FALSE;
-}
-
-/*
- * convert a PHP array to a CORBA sequence
- *
- * value should be a CORBA_sequence_octet *
- */
-static zend_bool satellite_zval_to_namedvalue_sequence(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       CORBA_sequence_octet * p_sequence_octet = 
-               (CORBA_sequence_octet *)pDestination->argument._value;
-       HashTable * p_hashtable = NULL;
-       int member_count = 0;
-
-       if (pSource == NULL)
-               return TRUE;    /* nothing to do */
-
-       if (Z_TYPE_P(pSource) != IS_ARRAY)
-               goto error;     /* bad source type */
-
-       p_hashtable = Z_ARRVAL_P(pSource);
-       member_count = zend_hash_num_elements(p_hashtable);
-
-       /* prepare sequence octet */
-       ORBit_sequence_octet_init(p_sequence_octet, member_count);
-
-       /*
-        * XXX: potential bug nest follows
-        */
-       if (member_count > 0)
-       {
-               CORBA_NamedValue destination_value;
-               zval * p_source_value;
-               HashPosition position = NULL;
-               int i;
-               void ** p_members = (void **)p_sequence_octet->_buffer;
-
-               /* prepare to start walking the hash table */
-               zend_hash_internal_pointer_reset_ex(p_hashtable, &position);
-
-               for(i = 0; i < member_count; i++)
-               {
-                       if (position == NULL)
-                               goto error;
-
-#if 0
-                       /* the function call gets messed up */
-                       if (zend_hash_get_current_data_ex(
-                                               p_hashtable, /* XXX */, &position) == FAILURE)
-                               goto error;
-#else
-                       p_source_value = *(zval**)position->pData;
-#endif
-                       
-                       memset(&destination_value, 0, sizeof(destination_value));
-                       
-                       destination_value.argument._type = CORBA_TypeCode_content_type(
-                                       pDestination->argument._type, orbit_get_environment());
-
-                       if (orbit_caught_exception())
-                               goto error;
-
-                       /* now get a NamedValue for this element */
-                       if (!orbit_zval_to_namedvalue(p_source_value, &destination_value))
-                               goto error;
-                       
-                       /* put values in our value */
-                       p_members[i] = *(void**)destination_value.argument._value;
-                       
-                       /* get next in hashtable */
-                       if (zend_hash_move_forward_ex(p_hashtable, &position) == FAILURE)
-                               goto error;
-               }
-       }
-       
-/*     pDestination->argument._value = p_sequence_octet;*/
-       return TRUE;
-       
-error:
-       ORBit_sequence_octet_fini(p_sequence_octet); /* appropriate destruction? */
-       return FALSE; 
-}
-
-/*
- * convert a PHP string to a CORBA string
- *
- * value should be a char **
- */
-static zend_bool satellite_zval_to_namedvalue_string(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{
-       char ** p_value = (char **)pDestination->argument._value;
-       
-       if (pSource == NULL)
-               return TRUE;    /* do nothing */
-
-#if 0
-       convert_to_string((zval *)pSource);     /* discard const */
-       if (Z_TYPE_P(pSource) == IS_NULL)
-               return TRUE;    /* do nothing */
-#endif
-       
-       if (Z_TYPE_P(pSource) != IS_STRING)
-               goto error;
-
-       *p_value                                                = CORBA_string_dup(Z_STRVAL_P(pSource));
-       pDestination->len               = strlen(*p_value);
-
-       return TRUE;
-
-error:
-       return FALSE;
-}
-
-/*
- * convert an OrbitStruct object to a CORBA structure
- *
- * XXX: this is trouble!
- *
- */
-static zend_bool satellite_zval_to_namedvalue_struct(const zval * pSource, 
-               CORBA_NamedValue * pDestination) 
-{ 
-       OrbitStruct * p_struct = NULL;
-       int member_count = 0;
-       CORBA_TypeCode type = NULL;
-       
-       pDestination->len = 1;
-       
-       /* nothing else to do if we have no source object */
-       if (pSource == NULL)
-               return TRUE;
-
-       /* see that it's an object */
-       if (Z_TYPE_P(pSource) != IS_OBJECT)
-               goto error; /* bad source type */
-
-       /* see that it's a structure object */
-       if (strcmp(Z_OBJCE_P(pSource)->name, "OrbitStruct") != 0)
-               goto error; /* bad class type */
-               
-       /* get struct info */
-       p_struct = OrbitStruct_RetrieveData(pSource);
-       if (p_struct == NULL)
-               goto error; /* unexpected error */
-
-       /* make type a shortcut to the typecode */
-       type = pDestination->argument._type;
-
-       /* check respository ids */
-       {
-               char * p_source_repository_id = OrbitStruct_GetRepositoryId(p_struct);
-               char * p_destination_repository_id = CORBA_TypeCode_id(type, orbit_get_environment());
-
-               if (orbit_caught_exception())
-                       goto error;
-
-               if (strcmp(p_destination_repository_id, p_source_repository_id) != 0)
-                       goto error;     /* bad struct */
-       }
-
-       /* now we know the source and destination matches! */
-       member_count = CORBA_TypeCode_member_count(type, orbit_get_environment());
-       if (orbit_caught_exception())
-               goto error;
-
-       if (member_count > 0)
-       {
-               int i;
-               CORBA_NamedValue destination_value;
-               zval source_value;
-               zend_bool success;
-               char * p_buffer = (char *)pDestination->argument._value;
-               int element_size = 0;
-
-               for (i = 0; i < member_count; i++)
-               {
-                       int alignment;
-                       /* get member name */
-                       char * p_name = 
-                               CORBA_TypeCode_member_name(type, i, orbit_get_environment());
-                       if (orbit_caught_exception())
-                               goto error;
-
-                       /* get source value */
-                       success = OrbitStruct_GetProperty(p_struct, p_name, &source_value);
-                       if (!success)
-                       {
-                               goto error;
-                       }
-
-                       /* prepare destination value */
-                       memset(&destination_value, 0, sizeof(CORBA_NamedValue));
-                       destination_value.argument._type = 
-                                       CORBA_TypeCode_member_type(type, i, orbit_get_environment());
-                       if (destination_value.argument._type == NULL)
-                               goto error;
-
-                       /* convert member */
-                       success = orbit_zval_to_namedvalue(&source_value, &destination_value);
-                       if (!success)
-                               goto error;
-
-                       element_size = ORBit_gather_alloc_info(destination_value.argument._type);
-                       
-                       /* align pointer and set value */
-                       alignment = ORBit_find_alignment(destination_value.argument._type);
-                       p_buffer = ALIGN_ADDRESS(p_buffer, alignment);
-
-                       /* copy value to struct */
-                       memcpy(p_buffer, destination_value.argument._value, element_size);
-                       p_buffer += element_size;
-               }
-       }
-       
-       return TRUE;
-
-error:
-       return FALSE;
-}
-
-/*
- * public function to convert form a zval to CORBA_NamedValue
- *
- * The data type specific functions does not own 
- * pDestination->argument._value!!!
- */
-zend_bool orbit_zval_to_namedvalue(const zval * pSource, 
-               CORBA_NamedValue * pDestination)
-{
-       zend_bool success = FALSE;
-       CORBA_TCKind kind; 
-       
-       if (pDestination->argument._type == NULL)
-       {
-/*             printf("pDestination->argument._type is NULL in orbit_zval_to_namedvalue\n");*/
-               return FALSE;
-       }
-       
-       kind = CORBA_TypeCode_kind(
-                       pDestination->argument._type, 
-                       orbit_get_environment());
-
-       if (orbit_caught_exception())
-               return FALSE;
-
-       /* allocate memory for value */
-       if (pSource != NULL)
-       {
-               /* use special function to allocate value -- good or bad idea? */
-               pDestination->argument._value = 
-                       ORBit_alloc_tcval(pDestination->argument._type, 1);
-       }
-       
-       switch (kind)
-       {
-               case CORBA_tk_boolean:
-                       success = satellite_zval_to_namedvalue_boolean(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_double:
-                       success = satellite_zval_to_namedvalue_double(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_enum:
-               case CORBA_tk_long:
-                       success = satellite_zval_to_namedvalue_long(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_objref:
-                       success = satellite_zval_to_namedvalue_objref(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_sequence:
-                       success = satellite_zval_to_namedvalue_sequence(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_short:
-                       success = satellite_zval_to_namedvalue_short(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_string:   /* 18 */
-                       success = satellite_zval_to_namedvalue_string(pSource, pDestination);
-                       break;
-
-               case CORBA_tk_struct:           /* 15 */
-                       success = satellite_zval_to_namedvalue_struct(pSource, pDestination);
-                       break;
-
-               default:
-/*                     printf("unsupported corba TCKind %i\n", kind);*/
-/*                     php_error(E_WARNING, "unsupported corba TCKind %i", kind);*/
-       }
-
-       if (!success)
-       {
-/*                     printf("orbit_zval_to_namedvalue failed for TCKind %i\n", kind);*/
-               /* 
-                * does this always crash? then we better look for another way of
-                * freeing the data!
-                */
-/*             CORBA_free(pDestination->argument._value); */
-               pDestination->argument._value = NULL;
-       }
-
-       return success;
-}
-
diff --git a/ext/satellite/zval_to_namedvalue.h b/ext/satellite/zval_to_namedvalue.h
deleted file mode 100644 (file)
index 85c2265..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2002 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.02 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available at through the world-wide-web at                           |
-   | http://www.php.net/license/2_02.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: David Eriksson <david@2good.com>                            |
-   +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-#ifndef __zval_to_namedvalue_h__
-#define __zval_to_namedvalue_h__
-
-#include <zend.h>
-#include <orb/orbit.h>
-
-zend_bool orbit_zval_to_namedvalue(const zval * pSource, CORBA_NamedValue * pDestination);
-
-#endif /* __zval_to_namedvalue_h__ */
-