[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/src schema.c query.c objectlist.c fac...
From: |
Neil Tiffin |
Subject: |
gnue/geas/src schema.c query.c objectlist.c fac... |
Date: |
Thu, 07 Jun 2001 07:41:44 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/06/07 07:41:43
Modified files:
geas/src : schema.c query.c objectlist.c factory.c
Log message:
Convert to GNU standard and fix compile warnings.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/schema.c.diff?cvsroot=OldCVS&tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/query.c.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectlist.c.diff?cvsroot=OldCVS&tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/factory.c.diff?cvsroot=OldCVS&tr1=1.15&tr2=1.16&r1=text&r2=text
Patches:
Index: gnue/geas/src/factory.c
diff -u gnue/geas/src/factory.c:1.15 gnue/geas/src/factory.c:1.16
--- gnue/geas/src/factory.c:1.15 Sat Jun 2 06:17:10 2001
+++ gnue/geas/src/factory.c Thu Jun 7 07:41:43 2001
@@ -21,7 +21,7 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: factory.c,v 1.15 2001/06/02 13:17:10 ntiffin Exp $
+ $Id: factory.c,v 1.16 2001/06/07 14:41:43 ntiffin Exp $
*/
@@ -39,92 +39,103 @@
#include "datamonitor/datamonitor.h"
/* raises: AuthenticationError, ServerError */
-GEAS_Connection ConnectionFactory_guestLogin(CORBA_Environment * ev)
- {
- return( ConnectionFactory_unsecureLogin("guest","guest",ev) );
- }
+GEAS_Connection
+ConnectionFactory_guestLogin (CORBA_Environment * ev)
+{
+ return (ConnectionFactory_unsecureLogin ("guest", "guest", ev));
+}
/* raises: AuthenticationError, ServerError */
-GEAS_Connection ConnectionFactory_unsecureLogin(const CORBA_char *username,
- const CORBA_char *password,
- CORBA_Environment *ev)
+GEAS_Connection
+ConnectionFactory_unsecureLogin (const CORBA_char * username,
+ const CORBA_char * password,
+ CORBA_Environment * ev)
{
- GEAS_Connection c = CORBA_OBJECT_NIL;
- /* GEAS_Connection retval = CORBA_OBJECT_NIL; */
- GEAS_DataObject user;
- ObjectKey key;
- char *sessionid;
- char *realpass;
-
- /* find and verify the user's record */
- /* message( "getting user record for '%s'" , username ); */
- user = GEAS_Connection_loadSingleObject( get_server_connection_object(),
- "geas::user" , "username" ,
username , ev );
- if( ev->_major != CORBA_NO_EXCEPTION || user == CORBA_OBJECT_NIL )
- {
- /* error finding user or unknown user */
- errormsg( "Unknown user '%s'" , username );
- CORBA_exception_free(ev);
- CORBA_exception_init(ev);
- make_AuthenticationError_exception(ev,"Login failed.");
- dm_logentry( DM_EVENT_SECURITY_LOGON_FAIL , username , NULL );
- return( CORBA_OBJECT_NIL );
- }
- /* message("Validating password for user '%s' attempted with
'%s')",username,password); */
- realpass = GEAS_DataObject_getField(user,"password",ev);
- if( ev->_major != CORBA_NO_EXCEPTION || strcmp(password,realpass)!=0 )
- {
- /* error getting user or wrong password */
- errormsg( "Password failed '%s'" , password );
- CORBA_exception_free(ev);
- CORBA_exception_init(ev);
- CORBA_Object_release(user,ev);
- if( realpass ) CORBA_free( realpass );
- make_AuthenticationError_exception(ev,"Login failed.");
- dm_logentry( DM_EVENT_SECURITY_LOGON_FAIL , username , NULL );
- return( CORBA_OBJECT_NIL );
- }
- CORBA_Object_release(user,ev);
- if( realpass ) CORBA_free( realpass );
- /* message( "Login succeeded" ); */
- dm_logentry( DM_EVENT_SECURITY_LOGON_SUCCESS , username , NULL );
-
- /* make a connection */
- key = create_new_object_key();
- if( key )
- {
- sessionid = object_key_as_string(key);
- if( sessionid )
- {
- c = make_connection_reference(username,sessionid,ev);
- }
- free_object_key( key );
- }
- if( c == CORBA_OBJECT_NIL )
- make_ServerError_exception(ev,"Error allocating connection");
- return( c );
+ GEAS_Connection c = CORBA_OBJECT_NIL;
+ /* GEAS_Connection retval = CORBA_OBJECT_NIL; */
+ GEAS_DataObject user;
+ ObjectKey key;
+ char *sessionid;
+ char *realpass;
+
+ /* find and verify the user's record */
+ /* message( "getting user record for '%s'" , username ); */
+ user = GEAS_Connection_loadSingleObject (get_server_connection_object (),
+ "geas::user", "username", username,
+ ev);
+ if (ev->_major != CORBA_NO_EXCEPTION || user == CORBA_OBJECT_NIL)
+ {
+ /* error finding user or unknown user */
+ errormsg ("Unknown user '%s'", username);
+ CORBA_exception_free (ev);
+ CORBA_exception_init (ev);
+ make_AuthenticationError_exception (ev, "Login failed.");
+ dm_logentry (DM_EVENT_SECURITY_LOGON_FAIL, username, NULL);
+ return (CORBA_OBJECT_NIL);
+ }
+ /* message("Validating password for user '%s' attempted with
'%s')",username,password); */
+ realpass = GEAS_DataObject_getField (user, "password", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION || strcmp (password, realpass) != 0)
+ {
+ /* error getting user or wrong password */
+ errormsg ("Password failed '%s'", password);
+ CORBA_exception_free (ev);
+ CORBA_exception_init (ev);
+ CORBA_Object_release (user, ev);
+ if (realpass)
+ {
+ CORBA_free (realpass);
+ }
+ make_AuthenticationError_exception (ev, "Login failed.");
+ dm_logentry (DM_EVENT_SECURITY_LOGON_FAIL, username, NULL);
+ return (CORBA_OBJECT_NIL);
+ }
+ CORBA_Object_release (user, ev);
+ if (realpass)
+ {
+ CORBA_free (realpass);
+ }
+ /* message( "Login succeeded" ); */
+ dm_logentry (DM_EVENT_SECURITY_LOGON_SUCCESS, username, NULL);
+
+ /* make a connection */
+ key = create_new_object_key ();
+ if (key)
+ {
+ sessionid = object_key_as_string (key);
+ if (sessionid)
+ {
+ c = make_connection_reference (username, sessionid, ev);
+ }
+ free_object_key (key);
+ }
+ if (c == CORBA_OBJECT_NIL)
+ {
+ make_ServerError_exception (ev, "Error allocating connection");
+ }
+ return (c);
}
/* raises: */
CORBA_char *
-ConnectionFactory_getAuthenticationKey(CORBA_char * username,
- CORBA_Environment * ev)
- {
- return (CORBA_string_dup("guest"));
- }
+ConnectionFactory_getAuthenticationKey (CORBA_char * username,
+ CORBA_Environment * ev)
+{
+ return (CORBA_string_dup ("guest"));
+}
/* raises: AuthenticationError */
GEAS_Connection
-ConnectionFactory_getConnection(CORBA_char * username, CORBA_char * passkey,
- CORBA_Environment * ev)
- {
- return (CORBA_OBJECT_NIL);
- }
+ConnectionFactory_getConnection (CORBA_char * username, CORBA_char * passkey,
+ CORBA_Environment * ev)
+{
+ return (CORBA_OBJECT_NIL);
+}
/* raises: AuthenticationError */
GEAS_Connection
-ConnectionFactory_adminLogin(CORBA_char * username, CORBA_char * passkey,
- CORBA_Environment * ev)
- {
- return (CORBA_OBJECT_NIL);
- }
+ConnectionFactory_adminLogin (CORBA_char * username, CORBA_char * passkey,
+ CORBA_Environment * ev)
+{
+ return (CORBA_OBJECT_NIL);
+}
Index: gnue/geas/src/objectlist.c
diff -u gnue/geas/src/objectlist.c:1.21 gnue/geas/src/objectlist.c:1.22
--- gnue/geas/src/objectlist.c:1.21 Sat Jun 2 06:17:10 2001
+++ gnue/geas/src/objectlist.c Thu Jun 7 07:41:43 2001
@@ -20,18 +20,19 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: objectlist.c,v 1.21 2001/06/02 13:17:10 ntiffin Exp $
+ $Id: objectlist.c,v 1.22 2001/06/07 14:41:43 ntiffin Exp $
*/
/** \file objectlist.c
* \brief GEAS::ObjectList implementation
*/
-
-#include <stdlib.h>
+
#include "config.h"
+#include <stdlib.h>
+
#include "geas.h"
#include "objectlist.h"
#include "objectcache/objectcache.h"
@@ -43,445 +44,499 @@
/* raises: */
CORBA_unsigned_long
-ObjectList__get_length(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- char *len;
- CORBA_unsigned_long retval = 0;
- ObjectData *ob;
-
- display_geas_object_reference(id);
-
- /* TODO: an exception, if the list is lost - needs get_throws() in IDL
- (CORBA 3) */
-
- ob = oc_find_object_by_key( "geas::listholder" , id->listid );
- if( !ob ) return( 0 );
- len = oc_get_object_field( ob , "length" );
-
- /* get length */
- retval = atoi(len);
- g_free( len );
-
- /* done */
- return (retval);
- }
+ObjectList__get_length (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ char *len;
+ CORBA_unsigned_long retval = 0;
+ ObjectData *ob;
+
+ display_geas_object_reference (id);
+
+ /* TODO: an exception, if the list is lost - needs get_throws() in IDL
+ (CORBA 3) */
+
+ ob = oc_find_object_by_key ("geas::listholder", id->listid);
+ if (!ob)
+ {
+ return (0);
+ }
+ len = oc_get_object_field (ob, "length");
+
+ /* get length */
+ retval = atoi (len);
+ g_free (len);
+
+ /* done */
+ return (retval);
+}
/* raises: */
GEAS_objectslist *
-ObjectList__get_objects(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- /* GEAS_DataObject obj; */
- GEAS_objectslist *retval = NULL;
- int i, len;
-
- /* get length of list */
- len = ObjectList__get_length(id, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ObjectList__get_objects (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ /* GEAS_DataObject obj; */
+ GEAS_objectslist *retval = NULL;
+ int i, len;
+
+ /* get length of list */
+ len = ObjectList__get_length (id, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
return (NULL);
-
- /* allocate return structure */
- retval = GEAS_objectslist__alloc();
- if (!retval)
- {
+ }
+ /* allocate return structure */
+ retval = GEAS_objectslist__alloc ();
+ if (!retval)
+ {
/* throw exception? *sigh* */
return (NULL);
- }
- retval->_maximum = len;
- retval->_length = len;
- retval->_buffer = CORBA_sequence_GEAS_DataObject_allocbuf(retval->_length);
+ }
+ retval->_maximum = len;
+ retval->_length = len;
+ retval->_buffer = CORBA_sequence_GEAS_DataObject_allocbuf (retval->_length);
- for (i = 0; i < len; i++)
- {
+ for (i = 0; i < len; i++)
+ {
/* add object reference to the list */
- retval->_buffer[i] = ObjectList_getEntry(id, i, ev);
- }
+ retval->_buffer[i] = ObjectList_getEntry (id, i, ev);
+ }
- return (retval);
- }
+ return (retval);
+}
/* raises: */
CORBA_char *
-ObjectList__get_classname(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- CORBA_char *retval = NULL;
+ObjectList__get_classname (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ CORBA_char *retval = NULL;
- return (retval);
- }
+ return (retval);
+}
/* raises: OutOfBounds */
GEAS_DataObject
-ObjectList_getEntry(GEAS_object_reference * id, int index,
- CORBA_Environment * ev)
- {
- GEAS_DataObject retval = CORBA_OBJECT_NIL;
- /* GEAS_DataObject lst; */
- int len;
- char *key, *classname = NULL, *pos;
- QueryData *q;
- struct query_result *result;
- int err;
- char *errmsg;
- int idx;
-
- len = ObjectList__get_length(id, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ObjectList_getEntry (GEAS_object_reference * id, int index,
+ CORBA_Environment * ev)
+{
+ GEAS_DataObject retval = CORBA_OBJECT_NIL;
+ /* GEAS_DataObject lst; */
+ int len;
+ char *key, *classname = NULL, *pos;
+ QueryData *q;
+ struct query_result *result;
+ int err;
+ char *errmsg;
+ int idx;
+
+ len = ObjectList__get_length (id, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
return (CORBA_OBJECT_NIL);
-
- if (index >= len)
- {
+ }
+ if (index >= len)
+ {
if (len > 0)
- make_OutOfBounds_exception(ev,
- "index %d is out of bounds: there are only
%d entries (indexed from 0)",
- index, len);
+ {
+ make_OutOfBounds_exception (ev,
+ "index %d is out of bounds: there are
only %d entries (indexed from 0)",
+ index, len);
+ }
else
- make_OutOfBounds_exception(ev, "the collection is empty");
- }
- else
- {
+ {
+ make_OutOfBounds_exception (ev, "the collection is empty");
+ }
+ }
+ else
+ {
/* find listholder where listholder.objectid = id.listid, to read
classname */
ObjectData *ob;
- ob = oc_find_object_by_key( "geas::listholder" , id->listid );
- classname = oc_get_object_field( ob , "classname" );
+ ob = oc_find_object_by_key ("geas::listholder", id->listid);
+ classname = oc_get_object_field (ob, "classname");
/* create query */
- q = oql_load_object(configdata, "geas::listitem");
+ q = oql_load_object (configdata, "geas::listitem");
if (!q)
- {
- make_ServerError_exception(ev, "Could not create query");
- g_free( classname );
- return (CORBA_OBJECT_NIL);
- }
- oql_add_query_constraint(q, NULL, id->listid, "=", "geas::listitem",
- "listid");
- pos = g_strdup_printf("%d", index);
- oql_add_query_constraint(q, NULL, pos, "=", "geas::listitem",
"position");
- g_free(pos);
- /* WHERE geas::listitem.listid = id->listid AND
- * geas::listitem.position = index
- */
- ob = oc_search_for_single_object( q );
- if( ob )
- {
- key = oc_get_object_field( ob , "reference" );
- retval = make_dataobject_reference(classname, key, id->username,
id->sessionid, ev);
- g_free( key );
- oql_free_query(q);
- return( retval );
- }
+ {
+ make_ServerError_exception (ev, "Could not create query");
+ g_free (classname);
+ return (CORBA_OBJECT_NIL);
+ }
+ oql_add_query_constraint (q, NULL, id->listid, "=", "geas::listitem",
+ "listid");
+ pos = g_strdup_printf ("%d", index);
+ oql_add_query_constraint (q, NULL, pos, "=", "geas::listitem",
+ "position");
+ g_free (pos);
+ /* WHERE geas::listitem.listid = id->listid AND
+ * geas::listitem.position = index
+ */
+ ob = oc_search_for_single_object (q);
+ if (ob)
+ {
+ key = oc_get_object_field (ob, "reference");
+ retval =
+ make_dataobject_reference (classname, key, id->username,
+ id->sessionid, ev);
+ g_free (key);
+ oql_free_query (q);
+ return (retval);
+ }
/* perform the query */
- result = query_objectstore(q, &err, &errmsg);
+ result = query_objectstore (q, &err, &errmsg);
if (errmsg || !result)
- {
- if (errmsg)
- make_ServerError_exception(ev, errmsg);
- else
- make_ServerError_exception(ev,
- "Query failed (unknown reason)");
- if (errmsg)
+ {
+ if (errmsg)
+ {
+ make_ServerError_exception (ev, errmsg);
+ }
+ else
{
- errormsg(errmsg);
- g_free(errmsg);
+ make_ServerError_exception (ev,
+ "Query failed (unknown reason)");
}
- oql_free_query(q);
- if (result)
- free_query_result(result);
- g_free( classname );
- return (CORBA_OBJECT_NIL);
- }
- idx = oql_query_get_field_position(q, "reference");
- key = (char *)get_result_field(result, 0, idx);
- retval = make_dataobject_reference(classname, key, id->username,
id->sessionid, ev);
- free_query_result(result);
- oql_free_query(q);
- }
- if( classname ) g_free( classname );
- return (retval);
- }
+ if (errmsg)
+ {
+ errormsg (errmsg);
+ g_free (errmsg);
+ }
+ oql_free_query (q);
+ if (result)
+ {
+ free_query_result (result);
+ }
+ g_free (classname);
+ return (CORBA_OBJECT_NIL);
+ }
+ idx = oql_query_get_field_position (q, "reference");
+ key = (char *) get_result_field (result, 0, idx);
+ retval =
+ make_dataobject_reference (classname, key, id->username,
+ id->sessionid, ev);
+ free_query_result (result);
+ oql_free_query (q);
+ }
+ if (classname)
+ {
+ g_free (classname);
+ }
+ return (retval);
+}
/* raises: WrongClass, ServerError */
void
-ObjectList_appendObject(GEAS_object_reference * id, const GEAS_DataObject obj,
- CORBA_Environment * ev)
- {
- gboolean test;
- GEAS_DataObject lst, newobj;
- char *classname, *lenstr, *buf, *objid;
- CORBA_unsigned_long len;
-
- lst =
- GEAS_Connection_loadSingleObject(id->server,
- "geas::listholder", "objectid",
id->listid,
- ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- return ;
- classname = GEAS_DataObject_getField(lst, "classname", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- CORBA_Object_release(lst, ev);
- return ;
- }
- test = GEAS_DataObject_ofclass(obj, classname, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- CORBA_Object_release(lst, ev);
- return ;
- }
- if (!test)
- {
- make_WrongClass_exception(ev,
- "This list requires objects of class '%s'
only",
- classname);
- return ;
- }
-
- /* increment length */
- len = ObjectList__get_length(id, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- CORBA_Object_release(lst, ev);
- return ;
- }
- len++;
- lenstr = g_strdup_printf("%d", len);
- GEAS_DataObject_setField(lst, "length", lenstr, ev);
- g_free(lenstr);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg( CORBA_exception_id(ev) );
- /* CORBA_Object_release(lst, ev); */
- return ;
- }
- CORBA_Object_release(lst, ev);
-
- /* add appropriate listitem object */
- newobj =
- GEAS_Connection_newObject(id->server, "geas::listitem", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- return ;
-
- /* which object was that, again? :) */
- objid = GEAS_DataObject_getField(obj, "objectid", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- return ;
-
- /* store the object's details */
- buf = g_strdup_printf("%d", len - 1);
- GEAS_DataObject_setField(newobj, "position", buf, ev); /* where in
list */
- g_free(buf);
- GEAS_DataObject_setField(newobj, "listid", id->listid, ev); /*
which list */
- GEAS_DataObject_setField(newobj, "reference", objid, ev); /* what object,
id */
- }
+ObjectList_appendObject (GEAS_object_reference * id,
+ const GEAS_DataObject obj, CORBA_Environment * ev)
+{
+ gboolean test;
+ GEAS_DataObject lst, newobj;
+ char *classname, *lenstr, *buf, *objid;
+ CORBA_unsigned_long len;
+
+ lst =
+ GEAS_Connection_loadSingleObject (id->server,
+ "geas::listholder", "objectid",
+ id->listid, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return;
+ }
+ classname = GEAS_DataObject_getField (lst, "classname", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ CORBA_Object_release (lst, ev);
+ return;
+ }
+ test = GEAS_DataObject_ofclass (obj, classname, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ CORBA_Object_release (lst, ev);
+ return;
+ }
+ if (!test)
+ {
+ make_WrongClass_exception (ev,
+ "This list requires objects of class '%s'
only",
+ classname);
+ return;
+ }
+
+ /* increment length */
+ len = ObjectList__get_length (id, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ CORBA_Object_release (lst, ev);
+ return;
+ }
+ len++;
+ lenstr = g_strdup_printf ("%d", len);
+ GEAS_DataObject_setField (lst, "length", lenstr, ev);
+ g_free (lenstr);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg (CORBA_exception_id (ev));
+ /* CORBA_Object_release(lst, ev); */
+ return;
+ }
+ CORBA_Object_release (lst, ev);
+
+ /* add appropriate listitem object */
+ newobj = GEAS_Connection_newObject (id->server, "geas::listitem", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return;
+ }
+ /* which object was that, again? :) */
+ objid = GEAS_DataObject_getField (obj, "objectid", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return;
+ }
+ /* store the object's details */
+ buf = g_strdup_printf ("%d", len - 1);
+ GEAS_DataObject_setField (newobj, "position", buf, ev); /* where in
list */
+ g_free (buf);
+ GEAS_DataObject_setField (newobj, "listid", id->listid, ev); /* which list
*/
+ GEAS_DataObject_setField (newobj, "reference", objid, ev); /* what
object, id */
+}
/* raises: OutOfBounds, ServerError */
void
-ObjectList_removeEntry(GEAS_object_reference * id, CORBA_unsigned_long index,
- CORBA_Environment * ev)
- {
- int i;
- GEAS_DataObject lst, obj;
- int len;
- char *key, *classname, *pos;
- QueryData *q;
- struct query_result *result;
- int err;
- char *errmsg, *buf;
- int idx;
-
- /* find listholder object */
- lst =
- GEAS_Connection_loadSingleObject(id->server,
- "geas::listholder", "objectid",
id->listid,
- ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- return ;
- len = ObjectList__get_length(id, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- CORBA_Object_release( lst , ev );
- return;
- }
-
- classname = GEAS_DataObject_getField(lst, "classname", ev);
-
- /* find specific list entry */
- /* create query */
- q = oql_load_object(configdata, "geas::listitem");
- if (!q)
- {
- CORBA_free( classname );
- make_ServerError_exception(ev, "Could not create query");
- return;
- }
- oql_add_query_constraint(q, NULL, id->listid, "=", "geas::listitem",
"listid");
- pos = g_strdup_printf("%d", index);
- oql_add_query_constraint(q, NULL, pos, "=", "geas::listitem", "position");
- g_free(pos);
-
- /* perform the query */
- result = query_objectstore(q, &err, &errmsg);
- if (errmsg || !result)
- {
+ObjectList_removeEntry (GEAS_object_reference * id, CORBA_unsigned_long index,
+ CORBA_Environment * ev)
+{
+ int i;
+ GEAS_DataObject lst, obj;
+ int len;
+ char *key, *classname, *pos;
+ QueryData *q;
+ struct query_result *result;
+ int err;
+ char *errmsg, *buf;
+ int idx;
+
+ /* find listholder object */
+ lst =
+ GEAS_Connection_loadSingleObject (id->server,
+ "geas::listholder", "objectid",
+ id->listid, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return;
+ }
+ len = ObjectList__get_length (id, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ CORBA_Object_release (lst, ev);
+ return;
+ }
+
+ classname = GEAS_DataObject_getField (lst, "classname", ev);
+
+ /* find specific list entry */
+ /* create query */
+ q = oql_load_object (configdata, "geas::listitem");
+ if (!q)
+ {
+ CORBA_free (classname);
+ make_ServerError_exception (ev, "Could not create query");
+ return;
+ }
+ oql_add_query_constraint (q, NULL, id->listid, "=", "geas::listitem",
+ "listid");
+ pos = g_strdup_printf ("%d", index);
+ oql_add_query_constraint (q, NULL, pos, "=", "geas::listitem", "position");
+ g_free (pos);
+
+ /* perform the query */
+ result = query_objectstore (q, &err, &errmsg);
+ if (errmsg || !result)
+ {
if (errmsg)
- make_ServerError_exception(ev, errmsg);
+ {
+ make_ServerError_exception (ev, errmsg);
+ }
else
- make_ServerError_exception(ev, "Query failed (unknown reason)");
+ {
+ make_ServerError_exception (ev, "Query failed (unknown reason)");
+ }
if (errmsg)
- {
- errormsg(errmsg);
- g_free(errmsg);
- }
- oql_free_query(q);
+ {
+ errormsg (errmsg);
+ g_free (errmsg);
+ }
+ oql_free_query (q);
if (result)
- free_query_result(result);
- CORBA_free( classname );
+ {
+ free_query_result (result);
+ }
+ CORBA_free (classname);
+ return;
+ }
+ idx = oql_query_get_field_position (q, "objectid");
+ key = (char *) get_result_field (result, 0, idx);
+ obj =
+ make_dataobject_reference ("geas::listitem", key, id->username,
+ id->sessionid, ev);
+
+ /* delete it */
+ GEAS_DataObject_delete (obj, ev);
+ CORBA_Object_release (obj, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ CORBA_Object_release (lst, ev);
+ CORBA_free (classname);
return;
- }
- idx = oql_query_get_field_position(q, "objectid");
- key = (char *)get_result_field(result, 0, idx);
- obj = make_dataobject_reference("geas::listitem", key, id->username,
id->sessionid, ev);
-
- /* delete it */
- GEAS_DataObject_delete(obj, ev);
- CORBA_Object_release(obj, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- CORBA_Object_release(lst, ev);
- CORBA_free( classname );
- return ;
- }
-
- /* renumber later entries */
- for (i = index + 1; i < len; i++)
- {
+ }
+
+ /* renumber later entries */
+ for (i = index + 1; i < len; i++)
+ {
/* find object */
/* create query */
- q = oql_load_object(configdata, "geas::listitem");
+ q = oql_load_object (configdata, "geas::listitem");
if (!q)
- {
- make_ServerError_exception(ev, "Could not create query");
- CORBA_free( classname );
- return;
- }
- oql_add_query_constraint(q, NULL, id->listid, "=", "geas::listitem",
- "listid");
- pos = g_strdup_printf("%d", i);
- oql_add_query_constraint(q, NULL, pos, "=", "geas::listitem",
"position");
- g_free(pos);
+ {
+ make_ServerError_exception (ev, "Could not create query");
+ CORBA_free (classname);
+ return;
+ }
+ oql_add_query_constraint (q, NULL, id->listid, "=", "geas::listitem",
+ "listid");
+ pos = g_strdup_printf ("%d", i);
+ oql_add_query_constraint (q, NULL, pos, "=", "geas::listitem",
+ "position");
+ g_free (pos);
/* perform the query */
- result = query_objectstore(q, &err, &errmsg);
+ result = query_objectstore (q, &err, &errmsg);
if (errmsg || !result)
- {
- if (errmsg)
- make_ServerError_exception(ev, errmsg);
- else
- make_ServerError_exception(ev,
- "Query failed (unknown reason)");
- if (errmsg)
+ {
+ if (errmsg)
+ {
+ make_ServerError_exception (ev, errmsg);
+ }
+ else
+ {
+ make_ServerError_exception (ev,
+ "Query failed (unknown reason)");
+ }
+ if (errmsg)
{
- errormsg(errmsg);
- g_free(errmsg);
+ errormsg (errmsg);
+ g_free (errmsg);
}
- oql_free_query(q);
- if (result)
- free_query_result(result);
- CORBA_free( classname );
- return;
- }
- idx = oql_query_get_field_position(q, "objectid");
- key = (char *)get_result_field(result, 0, idx);
- obj = make_dataobject_reference("geas::listitem", key, id->username,
id->sessionid, ev);
+ oql_free_query (q);
+ if (result)
+ {
+ free_query_result (result);
+ }
+ CORBA_free (classname);
+ return;
+ }
+ idx = oql_query_get_field_position (q, "objectid");
+ key = (char *) get_result_field (result, 0, idx);
+ obj =
+ make_dataobject_reference ("geas::listitem", key, id->username,
+ id->sessionid, ev);
/* set new index */
- buf = g_strdup_printf("%d", i - 1);
- GEAS_DataObject_setField(obj, "position", buf, ev);
- g_free(buf);
- CORBA_Object_release(obj, ev);
- }
-
- /* decrement length */
- buf = g_strdup_printf("%d", len - 1);
- GEAS_DataObject_setField(lst, "length", buf, ev);
- g_free(buf);
- }
+ buf = g_strdup_printf ("%d", i - 1);
+ GEAS_DataObject_setField (obj, "position", buf, ev);
+ g_free (buf);
+ CORBA_Object_release (obj, ev);
+ }
+
+ /* decrement length */
+ buf = g_strdup_printf ("%d", len - 1);
+ GEAS_DataObject_setField (lst, "length", buf, ev);
+ g_free (buf);
+}
void
-ObjectList_resort(GEAS_object_reference *id,
- CORBA_char * fieldname,
- CORBA_boolean ascending,
- CORBA_Environment * ev)
+ObjectList_resort (GEAS_object_reference * id,
+ CORBA_char * fieldname,
+ CORBA_boolean ascending, CORBA_Environment * ev)
{
+#warning "TODO - I guess."
}
/* raises: UnknownField, ServerError */
CORBA_unsigned_long
-ObjectList_hideObjects(GEAS_object_reference * id, CORBA_char * fieldname,
- CORBA_char * compare, CORBA_char * value,
- CORBA_Environment * ev)
- {
- CORBA_unsigned_long retval = 0;
-
- return (retval);
- }
+ObjectList_hideObjects (GEAS_object_reference * id, CORBA_char * fieldname,
+ CORBA_char * compare, CORBA_char * value,
+ CORBA_Environment * ev)
+{
+ CORBA_unsigned_long retval = 0;
+ return (retval);
+}
/* raises: UnknownField, FilterNotSet, ServerError */
CORBA_unsigned_long
-ObjectList_showObjects(GEAS_object_reference * id, CORBA_char * fieldname,
- CORBA_char * compare, CORBA_char * value,
- CORBA_Environment * ev)
- {
- CORBA_unsigned_long retval = 0;
+ObjectList_showObjects (GEAS_object_reference * id, CORBA_char * fieldname,
+ CORBA_char * compare, CORBA_char * value,
+ CORBA_Environment * ev)
+{
+ CORBA_unsigned_long retval = 0;
- return (retval);
- }
+ return (retval);
+}
/* raises: */
void
-ObjectList_showAll(GEAS_object_reference * id, CORBA_Environment * ev)
- {}
+ObjectList_showAll (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+}
/* raises: */
CORBA_unsigned_long
-ObjectList_applyFilter(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- CORBA_unsigned_long retval = 0;
+ObjectList_applyFilter (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ CORBA_unsigned_long retval = 0;
- return (retval);
- }
+ return (retval);
+}
/* raises: */
CORBA_boolean
-ObjectList__get_delayFilter(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- CORBA_boolean retval = CORBA_FALSE;
+ObjectList__get_delayFilter (GEAS_object_reference * id,
+ CORBA_Environment * ev)
+{
+ CORBA_boolean retval = CORBA_FALSE;
- return (retval);
- }
+ return (retval);
+}
/* raises: */
void
-ObjectList__set_delayFilter(GEAS_object_reference * id, CORBA_boolean value,
- CORBA_Environment * ev)
- {}
+ObjectList__set_delayFilter (GEAS_object_reference * id, CORBA_boolean value,
+ CORBA_Environment * ev)
+{
+}
/* raises: */
void
-ObjectList_release(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- /* QueryData *q; */
- struct query_result *result;
-
- /* delete the geas::listholder object */
- result = delete_from_objectstore( "geas::listholder" , id->listid ,
NULL,NULL );
- if( result )
- free_query_result( result );
-
- /* delete the geas::listitem instances */
- result = delete_all_from_objectstore( "geas::listitem" , "listid" ,
id->listid , NULL,NULL );
- if( result )
- free_query_result( result );
- }
+ObjectList_release (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ /* QueryData *q; */
+ struct query_result *result;
+
+ /* delete the geas::listholder object */
+ result =
+ delete_from_objectstore ("geas::listholder", id->listid, NULL, NULL);
+ if (result)
+ {
+ free_query_result (result);
+ }
+ /* delete the geas::listitem instances */
+ result =
+ delete_all_from_objectstore ("geas::listitem", "listid", id->listid, NULL,
+ NULL);
+ if (result)
+ {
+ free_query_result (result);
+ }
+}
Index: gnue/geas/src/query.c
diff -u gnue/geas/src/query.c:1.9 gnue/geas/src/query.c:1.10
--- gnue/geas/src/query.c:1.9 Sat Jun 2 06:17:10 2001
+++ gnue/geas/src/query.c Thu Jun 7 07:41:43 2001
@@ -20,7 +20,7 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: query.c,v 1.9 2001/06/02 13:17:10 ntiffin Exp $
+ $Id: query.c,v 1.10 2001/06/07 14:41:43 ntiffin Exp $
*/
@@ -39,347 +39,399 @@
#include "methods/methods.h"
#include "datamonitor/datamonitor.h"
#include "connection.h"
+#include "query.h"
GEAS_Query_logictype
-Constraint__get_logic(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- char *tmp;
- GEAS_Query_logictype retval;
- GEAS_DataObject q;
+Constraint__get_logic (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ char *tmp;
+ GEAS_Query_logictype retval;
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
return (retval);
- }
- tmp = GEAS_DataObject_getField(q, "logic", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- CORBA_Object_release(q, ev);
+ }
+ tmp = GEAS_DataObject_getField (q, "logic", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ CORBA_Object_release (q, ev);
return (retval);
- }
- retval = GEAS_Query_UNKNOWN;
- if (strcmp(tmp, "1") == 0)
+ }
+ retval = GEAS_Query_UNKNOWN;
+ if (strcmp (tmp, "1") == 0)
+ {
retval = GEAS_Query_AND;
- if (strcmp(tmp, "2") == 0)
+ }
+ if (strcmp (tmp, "2") == 0)
+ {
retval = GEAS_Query_OR;
- CORBA_free(tmp);
+ }
+ CORBA_free (tmp);
+ CORBA_Object_release (q, ev);
+ return (retval);
+}
- CORBA_Object_release(q, ev);
- return (retval);
- }
-
void
-Constraint__set_logic(GEAS_object_reference * id, GEAS_Query_logictype value,
- CORBA_Environment * ev)
- {
- GEAS_DataObject q;
+Constraint__set_logic (GEAS_object_reference * id, GEAS_Query_logictype value,
+ CORBA_Environment * ev)
+{
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- return ;
- }
- if (value == GEAS_Query_AND)
- GEAS_DataObject_setField(q, "logic", "1", ev);
- if (value == GEAS_Query_OR)
- GEAS_DataObject_setField(q, "logic", "2", ev);
- CORBA_Object_release(q, ev);
- }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ return;
+ }
+ if (value == GEAS_Query_AND)
+ {
+ GEAS_DataObject_setField (q, "logic", "1", ev);
+ }
+ if (value == GEAS_Query_OR)
+ {
+ GEAS_DataObject_setField (q, "logic", "2", ev);
+ }
+ CORBA_Object_release (q, ev);
+}
void
-Constraint_addField(GEAS_object_reference * id, GEAS_Query_Field * field,
- CORBA_Environment * ev)
- {
- GEAS_DataObject f;
- char *buf;
-
- /* create storage object */
- f = GEAS_Connection_newObject(id->server, "geas::searchfield", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- return ;
-
- /* fill it in */
- GEAS_DataObject_setField(f, "constraint", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+Constraint_addField (GEAS_object_reference * id, GEAS_Query_Field * field,
+ CORBA_Environment * ev)
+{
+ GEAS_DataObject f;
+ char *buf;
+
+ /* create storage object */
+ f = GEAS_Connection_newObject (id->server, "geas::searchfield", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return;
+ }
+ /* fill it in */
+ GEAS_DataObject_setField (f, "constraint", id->uniqueid, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
+ }
- GEAS_DataObject_setField(f, "field", field->field, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ GEAS_DataObject_setField (f, "field", field->field, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
+ }
- GEAS_DataObject_setField(f, "value", field->value, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ GEAS_DataObject_setField (f, "value", field->value, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
-
- switch (field->test)
- {
- case GEAS_Query_equals:
+ }
+ switch (field->test)
+ {
+ case GEAS_Query_equals:
buf = "1";
break;
- case GEAS_Query_lessthan:
+ case GEAS_Query_lessthan:
buf = "2";
break;
- case GEAS_Query_greaterthan:
+ case GEAS_Query_greaterthan:
buf = "3";
break;
- case GEAS_Query_contains:
+ case GEAS_Query_contains:
buf = "4";
break;
- case GEAS_Query_startswith:
+ case GEAS_Query_startswith:
buf = "5";
break;
- case GEAS_Query_endswith:
+ case GEAS_Query_endswith:
buf = "6";
break;
- }
- GEAS_DataObject_setField(f, "test", buf, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ }
+ GEAS_DataObject_setField (f, "test", buf, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
-
- if (field->casesensitive == CORBA_TRUE)
- GEAS_DataObject_setField(f, "casesensitive", "TRUE", ev);
- else
- GEAS_DataObject_setField(f, "casesensitive", "FALSE", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ }
+ if (field->casesensitive == CORBA_TRUE)
+ {
+ GEAS_DataObject_setField (f, "casesensitive", "TRUE", ev);
+ }
+ else
+ {
+ GEAS_DataObject_setField (f, "casesensitive", "FALSE", ev);
+ }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
-
- if (field->invert)
- GEAS_DataObject_setField(f, "invert", "TRUE", ev);
- else
- GEAS_DataObject_setField(f, "invert", "FALSE", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
+ }
+ if (field->invert)
+ {
+ GEAS_DataObject_setField (f, "invert", "TRUE", ev);
+ }
+ else
+ {
+ GEAS_DataObject_setField (f, "invert", "FALSE", ev);
+ }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
goto error;
-
- /* done */
- CORBA_Object_release(f, ev);
- return ;
+ }
+ /* done */
+ CORBA_Object_release (f, ev);
+ return;
error:
- errormsg("%s", CORBA_exception_id(ev));
- CORBA_exception_free(ev);
- CORBA_exception_init(ev);
- GEAS_DataObject_delete(f, ev);
- CORBA_Object_release(f, ev);
- return ;
- }
+ errormsg ("%s", CORBA_exception_id (ev));
+ CORBA_exception_free (ev);
+ CORBA_exception_init (ev);
+ GEAS_DataObject_delete (f, ev);
+ CORBA_Object_release (f, ev);
+ return;
+}
GEAS_Query_Constraint
-Constraint_newConstraint(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- GEAS_Query_Constraint retval;
- GEAS_DataObject c;
- char *uniqueid;
-
- c = Connection_newObject( id->serverid , "geas::searchcriteria" , ev );
- if( ev->_major != CORBA_NO_EXCEPTION )
- return( CORBA_OBJECT_NIL );
-
- GEAS_DataObject_setField(c,"parent",id->uniqueid,ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) goto error;
-
- GEAS_DataObject_setField(c,"classname","geas::unknownclass",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) goto error;
-
- GEAS_DataObject_setField(c,"orderby","",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) goto error;
-
- GEAS_DataObject_setField(c,"reverse","F",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) goto error;
-
- GEAS_DataObject_setField(c,"logic","1",ev);
- if( ev->_major != CORBA_NO_EXCEPTION ) goto error;
-
- /* done */
- uniqueid = GEAS_DataObject__get_objectID(c,ev);
- retval = make_constraint_reference( uniqueid , id->uniqueid ,
id->username, id->sessionid, ev );
- CORBA_free( uniqueid );
- CORBA_Object_release(c,ev);
- return( retval );
+Constraint_newConstraint (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ GEAS_Query_Constraint retval;
+ GEAS_DataObject c;
+ char *uniqueid;
+
+ c = Connection_newObject (id->serverid, "geas::searchcriteria", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ return (CORBA_OBJECT_NIL);
+ }
+ GEAS_DataObject_setField (c, "parent", id->uniqueid, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ goto error;
+ }
+ GEAS_DataObject_setField (c, "classname", "geas::unknownclass", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ goto error;
+ }
+ GEAS_DataObject_setField (c, "orderby", "", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ goto error;
+ }
+ GEAS_DataObject_setField (c, "reverse", "F", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ goto error;
+ }
+ GEAS_DataObject_setField (c, "logic", "1", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ goto error;
+ }
+ /* done */
+ uniqueid = GEAS_DataObject__get_objectID (c, ev);
+ retval =
+ make_constraint_reference (uniqueid, id->uniqueid, id->username,
+ id->sessionid, ev);
+ CORBA_free (uniqueid);
+ CORBA_Object_release (c, ev);
+ return (retval);
error:
- /* ignore details of the error - is a good plan, honest */
- CORBA_exception_free( ev );
- CORBA_exception_init( ev );
- GEAS_DataObject_delete(c,ev);
- if( ev->_major != CORBA_NO_EXCEPTION )
- {
- /* ignore this exception */
- CORBA_exception_free( ev );
- CORBA_exception_init( ev );
- }
- CORBA_Object_release(c,ev);
- make_ServerError_exception(ev,"Error allocating new query.");
- return( CORBA_OBJECT_NIL );
- }
+ /* ignore details of the error - is a good plan, honest */
+ CORBA_exception_free (ev);
+ CORBA_exception_init (ev);
+ GEAS_DataObject_delete (c, ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ /* ignore this exception */
+ CORBA_exception_free (ev);
+ CORBA_exception_init (ev);
+ }
+ CORBA_Object_release (c, ev);
+ make_ServerError_exception (ev, "Error allocating new query.");
+ return (CORBA_OBJECT_NIL);
+}
void
-Query_release(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- /* QueryData *q; */
- struct query_result *result;
-
- /* delete the geas::searchcriteria object */
- result = delete_from_objectstore("geas::searchcriteria", id->uniqueid,
NULL, NULL);
- if (result)
- free_query_result(result);
-
- /* delete the associated geas::searchfield instances */
- result =
- delete_all_from_objectstore("geas::searchfield", "constraint",
id->uniqueid, NULL,
- NULL);
- if (result)
- free_query_result(result);
- }
+Query_release (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ /* QueryData *q; */
+ struct query_result *result;
+
+ /* delete the geas::searchcriteria object */
+ result =
+ delete_from_objectstore ("geas::searchcriteria", id->uniqueid, NULL,
+ NULL);
+ if (result)
+ {
+ free_query_result (result);
+ }
+
+ /* delete the associated geas::searchfield instances */
+ result =
+ delete_all_from_objectstore ("geas::searchfield", "constraint",
+ id->uniqueid, NULL, NULL);
+ if (result)
+ {
+ free_query_result (result);
+ }
+}
void
-Query_clear(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- fatal_error("This isn't done yet...");
- }
+Query_clear (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ fatal_error ("This isn't done yet...");
+}
CORBA_char *
-Query__get_orderby(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- CORBA_char *retval;
- GEAS_DataObject q;
+Query__get_orderby (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ CORBA_char *retval;
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
return (retval);
- }
- retval = GEAS_DataObject_getField(q, "orderby", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- CORBA_Object_release(q, ev);
+ }
+ retval = GEAS_DataObject_getField (q, "orderby", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ CORBA_Object_release (q, ev);
return (retval);
- }
+ }
- CORBA_Object_release(q, ev);
- return (retval);
- }
+ CORBA_Object_release (q, ev);
+ return (retval);
+}
void
-Query__set_orderby(GEAS_object_reference * id, CORBA_char * value,
- CORBA_Environment * ev)
- {
- GEAS_DataObject q;
+Query__set_orderby (GEAS_object_reference * id, CORBA_char * value,
+ CORBA_Environment * ev)
+{
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- return ;
- }
- GEAS_DataObject_setField(q, "orderby", value, ev);
- CORBA_Object_release(q, ev);
- }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ return;
+ }
+ GEAS_DataObject_setField (q, "orderby", value, ev);
+ CORBA_Object_release (q, ev);
+}
CORBA_boolean
-Query__get_reverse(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- char *tmp;
- CORBA_boolean retval;
- GEAS_DataObject q;
+Query__get_reverse (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ char *tmp;
+ CORBA_boolean retval;
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
return (retval);
- }
- tmp = GEAS_DataObject_getField(q, "reverse", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- CORBA_Object_release(q, ev);
+ }
+ tmp = GEAS_DataObject_getField (q, "reverse", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ CORBA_Object_release (q, ev);
return (retval);
- }
- if (strcmp(tmp, "1") == 0)
+ }
+ if (strcmp (tmp, "1") == 0)
+ {
retval = CORBA_TRUE;
- if (strcmp(tmp, "0") == 0)
+ }
+ if (strcmp (tmp, "0") == 0)
+ {
retval = CORBA_FALSE;
- CORBA_free(tmp);
+ }
+ CORBA_free (tmp);
- CORBA_Object_release(q, ev);
- return (retval);
- }
+ CORBA_Object_release (q, ev);
+ return (retval);
+}
void
-Query__set_reverse(GEAS_object_reference * id, CORBA_boolean value,
- CORBA_Environment * ev)
- {
- GEAS_DataObject q;
+Query__set_reverse (GEAS_object_reference * id, CORBA_boolean value,
+ CORBA_Environment * ev)
+{
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- return ;
- }
- if (value)
- GEAS_DataObject_setField(q, "reverse", "T", ev);
- else
- GEAS_DataObject_setField(q, "reverse", "F", ev);
- CORBA_Object_release(q, ev);
- }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ return;
+ }
+ if (value)
+ {
+ GEAS_DataObject_setField (q, "reverse", "T", ev);
+ }
+ else
+ {
+ GEAS_DataObject_setField (q, "reverse", "F", ev);
+ }
+ CORBA_Object_release (q, ev);
+}
void
-Query__set_classname(GEAS_object_reference * id,
- CORBA_char * value, CORBA_Environment * ev)
- {
- GEAS_DataObject q;
+Query__set_classname (GEAS_object_reference * id,
+ CORBA_char * value, CORBA_Environment * ev)
+{
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- return ;
- }
- GEAS_DataObject_setField(q, "classname", value, ev);
- CORBA_Object_release(q, ev);
- }
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ return;
+ }
+ GEAS_DataObject_setField (q, "classname", value, ev);
+ CORBA_Object_release (q, ev);
+}
CORBA_char *
-Query__get_classname(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- CORBA_char *retval;
- GEAS_DataObject q;
+Query__get_classname (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ CORBA_char *retval;
+ GEAS_DataObject q;
- q = GEAS_Connection_loadSingleObject(id->server, "geas::searchcriteria",
+ q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
"objectid", id->uniqueid, ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
return (retval);
- }
- retval = GEAS_DataObject_getField(q, "classname", ev);
- if (ev->_major != CORBA_NO_EXCEPTION)
- {
- errormsg("%s", CORBA_exception_id(ev));
- CORBA_Object_release(q, ev);
+ }
+ retval = GEAS_DataObject_getField (q, "classname", ev);
+ if (ev->_major != CORBA_NO_EXCEPTION)
+ {
+ errormsg ("%s", CORBA_exception_id (ev));
+ CORBA_Object_release (q, ev);
return (retval);
- }
+ }
- CORBA_Object_release(q, ev);
- return (retval);
- }
+ CORBA_Object_release (q, ev);
+ return (retval);
+}
GEAS_ObjectReference
-Query__get_id(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- return ((GEAS_ObjectReference) CORBA_string_dup(id->uniqueid));
- }
+Query__get_id (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ return ((GEAS_ObjectReference) CORBA_string_dup (id->uniqueid));
+}
Index: gnue/geas/src/schema.c
diff -u gnue/geas/src/schema.c:1.11 gnue/geas/src/schema.c:1.12
--- gnue/geas/src/schema.c:1.11 Sat Jun 2 06:17:10 2001
+++ gnue/geas/src/schema.c Thu Jun 7 07:41:43 2001
@@ -20,7 +20,7 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: schema.c,v 1.11 2001/06/02 13:17:10 ntiffin Exp $
+ $Id: schema.c,v 1.12 2001/06/07 14:41:43 ntiffin Exp $
*/
@@ -40,380 +40,432 @@
* \param c odl_class instance to process
* \param includeinherited TRUE if inherited fields should be included
*/
-static GList *schema_list_class_fields(GEAS_object_reference * id,
- odl_class * c,
- gboolean includeinherited);
+static GList *schema_list_class_fields (GEAS_object_reference * id,
+ odl_class * c,
+ gboolean includeinherited);
/** \brief Convert ODL datatype to the enum fields in typedefs.idl
*/
-static GEAS_Datatype odl_datatype_to_geas_datatype(enum odl_datatype dt);
+static GEAS_Datatype odl_datatype_to_geas_datatype (enum odl_datatype dt);
GEAS_classnames *
-schema_list_classes(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- odl_namelist *classes;
- GList *l;
- GEAS_classnames *retval;
- int i, count;
- odl_class *c;
-
- classes = odl_tree_list_classes(all_classes);
- count = g_list_length(classes);
-
- retval = GEAS_classnames__alloc();
- if (!retval)
+schema_list_classes (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ odl_namelist *classes;
+ GList *l;
+ GEAS_classnames *retval;
+ int i, count;
+ odl_class *c;
+
+ classes = odl_tree_list_classes (all_classes);
+ count = g_list_length (classes);
+ retval = GEAS_classnames__alloc ();
+ if (!retval)
+ {
return (NULL);
- CORBA_sequence_set_release(retval, CORBA_TRUE);
-
- retval->_maximum = count;
- retval->_buffer = CORBA_sequence_CORBA_string_allocbuf(retval->_maximum);
-
- l = classes;
- i = 0;
- while (l)
- {
- c = odl_find_class(all_classes, l->data, NULL);
+ }
+ CORBA_sequence_set_release (retval, CORBA_TRUE);
+ retval->_maximum = count;
+ retval->_buffer = CORBA_sequence_CORBA_string_allocbuf (retval->_maximum);
+ l = classes;
+ i = 0;
+ while (l)
+ {
+ c = odl_find_class (all_classes, l->data, NULL);
if (c && c->base.access == ODL_ACCESS_PUBLIC)
- {
- if( strncmp(l->data,"root::",6)==0 )
- retval->_buffer[i] = CORBA_string_dup(&l->data[6]);
- else
- retval->_buffer[i] = CORBA_string_dup(l->data);
- i++;
- }
- l = g_list_next(l);
- }
- if (i > 0)
+ {
+ if (strncmp (l->data, "root::", 6) == 0)
+ {
+ retval->_buffer[i] = CORBA_string_dup (&l->data[6]);
+ }
+ else
+ {
+ retval->_buffer[i] = CORBA_string_dup (l->data);
+ }
+ i++;
+ }
+ l = g_list_next (l);
+ }
+ if (i > 0)
+ {
retval->_length = i;
- else
+ }
+ else
+ {
retval->_length = 0;
- if (classes)
- odl_namelist_free(classes);
-
- return retval;
+ }
+ if (classes)
+ {
+ odl_namelist_free (classes);
+ }
+ return retval;
+}
- }
-
/* Raises: UnknownClass, ServerError */
GEAS_ClassDefinition *
-schema_get_class(GEAS_object_reference * id, const char *name,
- gboolean includeinherited, CORBA_Environment * ev)
- {
- GEAS_ClassDefinition *retval = NULL;
- odl_class *c;
- GList *l, *fields;
- int count, i;
-
- /* find class */
- c = odl_find_class(all_classes, name, NULL);
- if (!c)
- {
- make_UnknownClass_exception(ev, "Could not find class %s", name);
+schema_get_class (GEAS_object_reference * id, const char *name,
+ gboolean includeinherited, CORBA_Environment * ev)
+{
+ GEAS_ClassDefinition *retval = NULL;
+ odl_class *c;
+ GList *l, *fields;
+ int count, i;
+
+ /* find class */
+ c = odl_find_class (all_classes, name, NULL);
+ if (!c)
+ {
+ make_UnknownClass_exception (ev, "Could not find class %s", name);
return (NULL);
- }
+ }
- /* allocate return value */
- retval = GEAS_ClassDefinition__alloc();
- if (!retval)
- {
- make_ServerError_exception(ev, "Out of memory.");
+ /* allocate return value */
+ retval = GEAS_ClassDefinition__alloc ();
+ if (!retval)
+ {
+ make_ServerError_exception (ev, "Out of memory.");
return (NULL);
- }
+ }
- /* class name */
- retval->name = CORBA_string_dup(odl_class_get_full_name(c));
+ /* class name */
+ retval->name = CORBA_string_dup (odl_class_get_full_name (c));
- /* parents */
- l = c->parents;
- count = g_list_length(l);
- CORBA_sequence_set_release(&retval->parents, CORBA_TRUE);
- retval->parents._maximum = count;
- retval->parents._length = count;
- retval->parents._buffer = CORBA_sequence_CORBA_string_allocbuf(count);
- for (i = 0; i < count; i++, l = g_list_next(l))
- {
- retval->parents._buffer[i] = CORBA_string_dup(l->data);
- }
-
- /* member fields */
- fields = schema_list_class_fields(id, c, includeinherited);
- count = g_list_length(fields);
- CORBA_sequence_set_release(&retval->fields, CORBA_TRUE);
- retval->fields._maximum = count;
- retval->fields._length = count;
- retval->fields._buffer =
CORBA_sequence_GEAS_FieldDefinition_allocbuf(count);
- for (i = 0, l = fields; l != NULL; l = l->next, i++)
- {
+ /* parents */
+ l = c->parents;
+ count = g_list_length (l);
+ CORBA_sequence_set_release (&retval->parents, CORBA_TRUE);
+ retval->parents._maximum = count;
+ retval->parents._length = count;
+ retval->parents._buffer = CORBA_sequence_CORBA_string_allocbuf (count);
+ for (i = 0; i < count; i++, l = g_list_next (l))
+ {
+ retval->parents._buffer[i] = CORBA_string_dup (l->data);
+ }
+
+ /* member fields */
+ fields = schema_list_class_fields (id, c, includeinherited);
+ count = g_list_length (fields);
+ CORBA_sequence_set_release (&retval->fields, CORBA_TRUE);
+ retval->fields._maximum = count;
+ retval->fields._length = count;
+ retval->fields._buffer =
+ CORBA_sequence_GEAS_FieldDefinition_allocbuf (count);
+ for (i = 0, l = fields; l != NULL; l = l->next, i++)
+ {
/* add field to data structure */
- GEAS_FieldDefinition * fd = &retval->fields._buffer[i];
+ GEAS_FieldDefinition *fd = &retval->fields._buffer[i];
odl_field *f = (odl_field *) l->data;
odl_class *cd;
- fd->name = CORBA_string_dup(odl_field_get_name(f));
+ fd->name = CORBA_string_dup (odl_field_get_name (f));
cd = (odl_class *) f->base.parent;
- fd->classname = CORBA_string_dup(odl_class_get_full_name(cd));
+ fd->classname = CORBA_string_dup (odl_class_get_full_name (cd));
if (f->format)
- fd->format = CORBA_string_dup(f->format);
+ {
+ fd->format = CORBA_string_dup (f->format);
+ }
else
- fd->format = CORBA_string_dup("");
+ {
+ fd->format = CORBA_string_dup ("");
+ }
if (f->datatypeclass)
- fd->datatypeclass = CORBA_string_dup(f->datatypeclass);
+ {
+ fd->datatypeclass = CORBA_string_dup (f->datatypeclass);
+ }
else
- fd->datatypeclass = CORBA_string_dup("");
+ {
+ fd->datatypeclass = CORBA_string_dup ("");
+ }
if (f->defaultval)
- fd->defaultvalue = CORBA_string_dup(f->defaultval);
+ {
+ fd->defaultvalue = CORBA_string_dup (f->defaultval);
+ }
else
- fd->defaultvalue = CORBA_string_dup("");
- fd->datatype = odl_datatype_to_geas_datatype(f->datatype);
+ {
+ fd->defaultvalue = CORBA_string_dup ("");
+ }
+ fd->datatype = odl_datatype_to_geas_datatype (f->datatype);
fd->notnull =
- (odl_field_has_property(f, ODL_PROP_NOTNULL) ? CORBA_TRUE :
- CORBA_FALSE);
+ (odl_field_has_property (f, ODL_PROP_NOTNULL) ? CORBA_TRUE :
+ CORBA_FALSE);
fd->isreadonly =
- (odl_field_has_property(f, ODL_PROP_READONLY) ? CORBA_TRUE
- : CORBA_FALSE);
+ (odl_field_has_property (f, ODL_PROP_READONLY) ? CORBA_TRUE
+ : CORBA_FALSE);
switch (f->fieldtype)
- {
- case FT_basic:
- fd->type = GEAS_basic;
- break;
- case FT_lookup:
- fd->type = GEAS_lookup;
- break;
- case FT_reference:
- fd->type = GEAS_reference;
- break;
- case FT_list:
- fd->type = GEAS_list;
- break;
- case FT_method:
- fd->type = GEAS_method;
- break;
- case FT_calculated:
- fd->type = GEAS_calculated;
- break;
- case FT_readonly:
- fd->type = GEAS_nowrite;
- break;
- default:
- fd->type = GEAS_unknown;
- break;
- }
-
- }
-
- /* does this def. include all fields? */
- if (includeinherited)
+ {
+ case FT_basic:
+ fd->type = GEAS_basic;
+ break;
+ case FT_lookup:
+ fd->type = GEAS_lookup;
+ break;
+ case FT_reference:
+ fd->type = GEAS_reference;
+ break;
+ case FT_list:
+ fd->type = GEAS_list;
+ break;
+ case FT_method:
+ fd->type = GEAS_method;
+ break;
+ case FT_calculated:
+ fd->type = GEAS_calculated;
+ break;
+ case FT_readonly:
+ fd->type = GEAS_nowrite;
+ break;
+ default:
+ fd->type = GEAS_unknown;
+ break;
+ }
+
+ }
+
+ /* does this def. include all fields? */
+ if (includeinherited)
+ {
retval->allfields = CORBA_TRUE;
- else
+ }
+ else
+ {
retval->allfields = CORBA_TRUE;
+ }
+ /* done */
+ return (retval);
+}
- /* done */
- return (retval);
- }
-
GEAS_classlist *
-schema_get_all(GEAS_object_reference * id, CORBA_Environment * ev)
- {
- fatal_error("Really a TODO here...");
- return NULL;
- }
+schema_get_all (GEAS_object_reference * id, CORBA_Environment * ev)
+{
+ fatal_error ("Really a TODO here...");
+ return NULL;
+}
/** \brief Make a list of all fields in a class
*/
static GList *
-schema_list_class_fields(GEAS_object_reference * id, odl_class * c,
- gboolean includeinherited)
- {
- GList *retval = NULL;
- GList *l;
- gboolean allowed;
-
- for (l = c->contents; l != NULL; l = g_list_next(l))
- {
- odl_field * f = (odl_field *) l->data;
-
- if (f->base.type == IT_field && /* a field */
- f->base.access == ODL_ACCESS_PUBLIC) /* is accessible */
- {
- allowed = FALSE;
+schema_list_class_fields (GEAS_object_reference * id, odl_class * c,
+ gboolean includeinherited)
+{
+ GList *retval = NULL;
+ GList *l;
+ gboolean allowed;
+
+ for (l = c->contents; l != NULL; l = g_list_next (l))
+ {
+ odl_field *f = (odl_field *) l->data;
- switch (f->fieldtype)
+ if (f->base.type == IT_field && /* a field */
+ f->base.access == ODL_ACCESS_PUBLIC) /* is accessible */
+ {
+ allowed = FALSE;
+
+ switch (f->fieldtype)
{
- case FT_basic:
- if (f->datatype != DT_unknown)
- allowed = TRUE;
- break;
- case FT_lookup:
- case FT_reference:
- case FT_list:
- case FT_method:
- case FT_calculated:
- case FT_readonly:
- allowed = TRUE;
- break;
- case FT_unknown:
+ case FT_basic:
+ if (f->datatype != DT_unknown)
+ allowed = TRUE;
+ break;
+ case FT_lookup:
+ case FT_reference:
+ case FT_list:
+ case FT_method:
+ case FT_calculated:
+ case FT_readonly:
+ allowed = TRUE;
+ break;
+ case FT_unknown:
}
- /* add field to list */
- if (allowed)
- retval = g_list_append(retval, f);
- }
- }
+ /* add field to list */
+ if (allowed)
+ {
+ retval = g_list_append (retval, f);
+ }
+ }
+ }
- /* stop now, unless we want inherited fields and have parent classes */
- if (!includeinherited || c->parents == NULL)
+ /* stop now, unless we want inherited fields and have parent classes */
+ if (!includeinherited || c->parents == NULL)
+ {
return (retval);
+ }
+ /* add any parent fields */
+ for (l = c->parents; l != NULL; l = g_list_next (l))
+ {
+ GList *tmp;
+ odl_class *parent = odl_find_class (all_classes, l->data, NULL);
- /* add any parent fields */
- for (l = c->parents; l != NULL; l = g_list_next(l))
- {
- GList * tmp;
- odl_class *parent = odl_find_class(all_classes, l->data, NULL);
-
if (parent)
- {
- /* get fields in just the named class */
- tmp = schema_list_class_fields(id, c, FALSE);
- if (tmp)
- retval = g_list_concat(retval, tmp);
- }
- }
+ {
+ /* get fields in just the named class */
+ tmp = schema_list_class_fields (id, c, FALSE);
+ if (tmp)
+ {
+ retval = g_list_concat (retval, tmp);
+ }
+ }
+ }
- return (retval);
- }
+ return (retval);
+}
static GEAS_Datatype
-odl_datatype_to_geas_datatype(enum odl_datatype dt)
- {
- switch (dt)
- {
- case DT_char:
+odl_datatype_to_geas_datatype (enum odl_datatype dt)
+{
+ switch (dt)
+ {
+ case DT_char:
return (GEAS_Char);
break;
- case DT_int:
+ case DT_int:
return (GEAS_Int);
break;
- case DT_text:
+ case DT_text:
return (GEAS_Text);
break;
- case DT_class:
+ case DT_class:
return (GEAS_Class);
break;
- case DT_date:
+ case DT_date:
return (GEAS_Date);
break;
- case DT_bool:
+ case DT_bool:
return (GEAS_Bool);
break;
- case DT_float:
+ case DT_float:
return (GEAS_FloatValue);
break;
- case DT_void:
+ case DT_void:
return (GEAS_Void);
break;
- case DT_object:
+ case DT_object:
return (GEAS_ObjectRef);
break;
- case DT_enum:
+ case DT_enum:
return (GEAS_Enum);
break;
- case DT_unsignedint:
+ case DT_unsignedint:
return (GEAS_UnsignedInt);
break;
- case DT_unknown:
+ case DT_unknown:
return (GEAS_UnknownDatatype);
break;
- }
- return (GEAS_UnknownDatatype);
- }
+ case DT_int16:
+ case DT_int32:
+ case DT_int64:
+ case DT_boolean:
+ case DT_time:
+ case DT_datetime:
+ case DT_type:
+#warning "TODO - need to handle new types."
+ break;
+ }
+
+ return (GEAS_UnknownDatatype);
+}
GEAS_fieldlist *
-schema_get_fields(GEAS_object_reference * id,
- const char *name, gboolean includeinherited,
- CORBA_Environment * ev)
- {
- GEAS_fieldlist *retval;
- GList *l, *fields;
- int i, count;
- odl_class *c;
-
- c = odl_find_class(all_classes, name, NULL);
- if (!c)
- {
- make_UnknownClass_exception(ev, "Class '%s' was not found", name);
+schema_get_fields (GEAS_object_reference * id,
+ const char *name, gboolean includeinherited,
+ CORBA_Environment * ev)
+{
+ GEAS_fieldlist *retval;
+ GList *l, *fields;
+ int i, count;
+ odl_class *c;
+
+ c = odl_find_class (all_classes, name, NULL);
+ if (!c)
+ {
+ make_UnknownClass_exception (ev, "Class '%s' was not found", name);
return (NULL);
- }
+ }
- retval = GEAS_fieldlist__alloc();
- if (!retval)
+ retval = GEAS_fieldlist__alloc ();
+ if (!retval)
+ {
return (NULL);
- CORBA_sequence_set_release(retval, CORBA_TRUE);
+ }
+ CORBA_sequence_set_release (retval, CORBA_TRUE);
- fields = schema_list_class_fields(id, c, includeinherited);
- count = g_list_length(fields);
- retval->_maximum = count;
- retval->_length = count;
- retval->_buffer = CORBA_sequence_GEAS_FieldDefinition_allocbuf(count);
- for (i = 0, l = fields; l != NULL; l = l->next, i++)
- {
- GEAS_FieldDefinition * fd = &retval->_buffer[i];
+ fields = schema_list_class_fields (id, c, includeinherited);
+ count = g_list_length (fields);
+ retval->_maximum = count;
+ retval->_length = count;
+ retval->_buffer = CORBA_sequence_GEAS_FieldDefinition_allocbuf (count);
+ for (i = 0, l = fields; l != NULL; l = l->next, i++)
+ {
+ GEAS_FieldDefinition *fd = &retval->_buffer[i];
odl_field *f = (odl_field *) l->data;
odl_class *cd;
- fd->name = CORBA_string_dup(odl_field_get_name(f));
+ fd->name = CORBA_string_dup (odl_field_get_name (f));
cd = (odl_class *) f->base.parent;
- fd->classname = CORBA_string_dup(odl_class_get_full_name(cd));
+ fd->classname = CORBA_string_dup (odl_class_get_full_name (cd));
if (f->format)
- fd->format = CORBA_string_dup(f->format);
+ {
+ fd->format = CORBA_string_dup (f->format);
+ }
else
- fd->format = CORBA_string_dup("");
+ {
+ fd->format = CORBA_string_dup ("");
+ }
if (f->datatypeclass)
- fd->datatypeclass = CORBA_string_dup(f->datatypeclass);
+ {
+ fd->datatypeclass = CORBA_string_dup (f->datatypeclass);
+ }
else
- fd->datatypeclass = CORBA_string_dup("");
+ {
+ fd->datatypeclass = CORBA_string_dup ("");
+ }
if (f->defaultval)
- fd->defaultvalue = CORBA_string_dup(f->defaultval);
+ {
+ fd->defaultvalue = CORBA_string_dup (f->defaultval);
+ }
else
- fd->defaultvalue = CORBA_string_dup("");
- fd->datatype = odl_datatype_to_geas_datatype(f->datatype);
+ {
+ fd->defaultvalue = CORBA_string_dup ("");
+ }
+ fd->datatype = odl_datatype_to_geas_datatype (f->datatype);
fd->notnull =
- (odl_field_has_property(f, ODL_PROP_NOTNULL) ? CORBA_TRUE :
- CORBA_FALSE);
+ (odl_field_has_property (f, ODL_PROP_NOTNULL) ? CORBA_TRUE :
+ CORBA_FALSE);
fd->isreadonly =
- (odl_field_has_property(f, ODL_PROP_READONLY) ? CORBA_TRUE
- : CORBA_FALSE);
+ (odl_field_has_property (f, ODL_PROP_READONLY) ? CORBA_TRUE
+ : CORBA_FALSE);
switch (f->fieldtype)
- {
- case FT_basic:
- fd->type = GEAS_basic;
- break;
- case FT_lookup:
- fd->type = GEAS_lookup;
- break;
- case FT_reference:
- fd->type = GEAS_reference;
- break;
- case FT_list:
- fd->type = GEAS_list;
- break;
- case FT_method:
- fd->type = GEAS_method;
- break;
- case FT_calculated:
- fd->type = GEAS_calculated;
- break;
- case FT_readonly:
- fd->type = GEAS_nowrite;
- break;
- default:
- fd->type = GEAS_unknown;
- break;
- }
- }
- return (retval);
- }
+ {
+ case FT_basic:
+ fd->type = GEAS_basic;
+ break;
+ case FT_lookup:
+ fd->type = GEAS_lookup;
+ break;
+ case FT_reference:
+ fd->type = GEAS_reference;
+ break;
+ case FT_list:
+ fd->type = GEAS_list;
+ break;
+ case FT_method:
+ fd->type = GEAS_method;
+ break;
+ case FT_calculated:
+ fd->type = GEAS_calculated;
+ break;
+ case FT_readonly:
+ fd->type = GEAS_nowrite;
+ break;
+ default:
+ fd->type = GEAS_unknown;
+ break;
+ }
+ }
+ return (retval);
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/geas/src schema.c query.c objectlist.c fac...,
Neil Tiffin <=