[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/idl admin.idl connection.idl dataobje...
From: |
Neil Tiffin |
Subject: |
gnue/geas/idl admin.idl connection.idl dataobje... |
Date: |
Mon, 10 Sep 2001 09:28:38 -0400 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Neil Tiffin <address@hidden> 01/09/10 09:28:38
Modified files:
geas/idl : admin.idl connection.idl dataobject.idl
exceptions.idl factory.idl geas.idl
methodprovider.idl objectlist.idl query.idl
schema.idl transaction.idl treshna.idl
typedefs.idl
Log message:
Make idl comments and structures readable for mere mortals.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/admin.idl.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/connection.idl.diff?cvsroot=OldCVS&tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/dataobject.idl.diff?cvsroot=OldCVS&tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/exceptions.idl.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/factory.idl.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/geas.idl.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/methodprovider.idl.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/objectlist.idl.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/query.idl.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/schema.idl.diff?cvsroot=OldCVS&tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/transaction.idl.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/treshna.idl.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/idl/typedefs.idl.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: gnue/geas/idl/admin.idl
diff -u gnue/geas/idl/admin.idl:1.4 gnue/geas/idl/admin.idl:1.5
--- gnue/geas/idl/admin.idl:1.4 Mon Feb 12 17:35:17 2001
+++ gnue/geas/idl/admin.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,14 @@
+/*
+ admin.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: admin.idl,v 1.5 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS{
/* actually, these will be moved to the factory object, $
@@ -7,15 +18,15 @@
interface Admin
{
- // current server status
+ // current server status
attribute long debuglevel;
attribute boolean verbose;
-
- // control server
+
+ // control server
void restart();
void shutdown();
-
- // more admin features to be added
+
+ // more admin features to be added
};
};
Index: gnue/geas/idl/connection.idl
diff -u gnue/geas/idl/connection.idl:1.15 gnue/geas/idl/connection.idl:1.16
--- gnue/geas/idl/connection.idl:1.15 Wed May 23 20:57:11 2001
+++ gnue/geas/idl/connection.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,14 @@
+/*
+ connection.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: connection.idl,v 1.16 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
#include "treshna.idl"
module GEAS{
@@ -5,193 +16,224 @@
interface DataObject;
interface ObjectList;
-/**
- * \brief Manage data retrieval
- *
- * The Connection class is the main access point for clients using GEAS.
- * It allows clients to search for data, and to retrieve information
- * on the classes currently provided by the server.
- */
+ /**
+ * \brief Manage data retrieval
+ *
+ * The Connection class is the main access point for clients using
GEAS.
+ * It allows clients to search for data, and to retrieve information
+ * on the classes currently provided by the server.
+ */
interface Connection : TransactionFactory
{
- /**
- * \brief Identity currently in use
- *
- * The proposed ability for a user to assume another identity
- * (with appropriate authentication) will allow certain
- * operations to be restricted, and only accessed by valid users
- * at limited times. (cf. UNIX 'su' command.) This attribute
- * allows the application to check which user ID is currently
- * in effect.
- */
+ /**
+ * \brief Identity currently in use
+ *
+ * The proposed ability for a user to assume another identity
+ * (with appropriate authentication) will allow certain
+ * operations to be restricted, and only accessed by valid users
+ * at limited times. (cf. UNIX 'su' command.) This attribute
+ * allows the application to check which user ID is currently
+ * in effect.
+ */
+
readonly attribute string currentUserID;
+
- // Schema related methods/attributes
- /**
- * A list of the names of classes currently visible to the user on
- * the server.
- */
+ // Schema related methods/attributes
+ /**
+ * A list of the names of classes currently visible to the user on
+ * the server.
+ */
+
readonly attribute classnames classes;
+
- /**
- * Full information on all classes available to the user.
- * (Not yet implemented.)
- */
+ /**
+ * Full information on all classes available to the user.
+ * (Not yet implemented.)
+ */
+
readonly attribute classlist schema;
+
- /** \brief Get a new Query::Query instance
- */
+ /** \brief Get a new Query::Query instance
+ */
+
Query::Query newQuery();
- /** \brief Perform a query
- */
+
+ /** \brief Perform a query
+ */
+
ObjectList executeQuery( in Query::Query querytoperform )
raises( ServerError );
+
+
+ /**
+ * \brief Class information.
+ *
+ * This method retrieves information on fields in a particular class.
+ * The list does not include inherited fields, but does name the
+ * parent classes.
+ * \sa GEAS::Connection::getFullClassDefinition
+ */
- /**
- * \brief Class information.
- *
- * This method retrieves information on fields in a particular class.
- * The list does not include inherited fields, but does name the
- * parent classes.
- * \sa GEAS::Connection::getFullClassDefinition
- */
ClassDefinition getClassDefinition( in string name ) // excludes inherited
fields
raises(UnknownClass,ServerError);
- /**
- * \brief Class information.
- *
- * This method retrieves information on fields in a particular class.
- * The list includes all inherited fields, and names the
- * parent classes.
- * \sa GEAS::Connection::getClassDefinition
- */
+
+ /**
+ * \brief Class information.
+ *
+ * This method retrieves information on fields in a particular class.
+ * The list includes all inherited fields, and names the
+ * parent classes.
+ * \sa GEAS::Connection::getClassDefinition
+ */
+
ClassDefinition getFullClassDefinition( in string name ) // includes
inherited fields
raises(UnknownClass,ServerError);
+
- /**
- * \brief Gets a list of items that can be placed in a lookup field
- *
- * A lookupfield is controlled by another field, that determines
- * what data is retrieved, on an object by object basis. (e.g.: a
- * countrycode field determines which Country object is loaded,
- * and the system can then read the country name from there.) This
- * method looks for all valid candidates for source data, and builds
- * a list describing these objects.
- */
+ /**
+ * \brief Gets a list of items that can be placed in a lookup field
+ *
+ * A lookupfield is controlled by another field, that determines
+ * what data is retrieved, on an object by object basis. (e.g.: a
+ * countrycode field determines which Country object is loaded,
+ * and the system can then read the country name from there.) This
+ * method looks for all valid candidates for source data, and builds
+ * a list describing these objects.
+ */
+
LookupOptions getLookupFieldOptions( in string classname , in string
fieldname )
raises(UnknownClass,UnknownField,NotLookupField,NotReadable);
- // query database capabilities
- /**
- * \brief Feature support queries.
- *
- * This determines if a given feature is supported by the server
- * in use.
- * \sa Geas::Feature
- */
+
+ // query database capabilities
+ /**
+ * \brief Feature support queries.
+ *
+ * This determines if a given feature is supported by the server
+ * in use.
+ * \sa Geas::Feature
+ */
+
boolean supportsFeature( in Feature featureID );
+
+
+ // load/create/search persistant objects
+ /**
+ * \brief Create new business objects
+ *
+ * This instantiates a specified business class, and initialises
+ * any default fields. It is tghe only supported way to create a
+ * business object.
+ */
- // load/create/search persistant objects
- /**
- * \brief Create new business objects
- *
- * This instantiates a specified business class, and initialises
- * any default fields. It is tghe only supported way to create a
- * business object.
- */
DataObject newObject ( in string classname )
raises(UnknownClass,ServerError,TransactionNotInProgress);
ObjectList newEmptyList( in string classname )
raises(UnknownClass,ServerError,TransactionNotInProgress);
- /**
- * \brief Simple query method.
- *
- * This method loads all instances of a given business class,
- * that match the search criteria. The only supported search is
- * to specify a single field and value, and only objects where the
- * given field matches a set value will be loaded. The search is
- * case sensitive.
- * \sa loadObjects loadSingleObject
- */
+
+ /**
+ * \brief Simple query method.
+ *
+ * This method loads all instances of a given business class,
+ * that match the search criteria. The only supported search is
+ * to specify a single field and value, and only objects where the
+ * given field matches a set value will be loaded. The search is
+ * case sensitive.
+ * \sa loadObjects loadSingleObject
+ */
+
ObjectList loadObjects( in string classname , in string fieldname , in
string searchvalue )
raises(UnknownClass,UnknownField,ServerError,TransactionNotInProgress);
+
- /**
- * \brief Simple query method.
- *
- * This method loads all instances of a given business class,
- * into an unsorted list, and
- * returns an ObjectList handle, to access the set of objects.
- * \sa loadObjects loadSingleObject
- */
+ /**
+ * \brief Simple query method.
+ *
+ * This method loads all instances of a given business class,
+ * into an unsorted list, and
+ * returns an ObjectList handle, to access the set of objects.
+ * \sa loadObjects loadSingleObject
+ */
+
ObjectList loadAll ( in string classname )
raises(UnknownClass,ServerError,TransactionNotInProgress);
+
- /**
- * \brief Simple query method.
- *
- * This method loads a single instance of a given business class,
- * that match the search criteria. The only supported search is
- * to specify a single field and value, and only objects where the
- * given field matches a set value will be loaded. The search is
- * case sensitive. If more than one object matches, the choice
- * of which object to return is undetermined - it may or may
- * not be consistent between calls to this method. (ie: the field
- * used should be a unique index/candidate key.)
- * \sa loadObjects loadSingleObject
- */
+ /**
+ * \brief Simple query method.
+ *
+ * This method loads a single instance of a given business class,
+ * that match the search criteria. The only supported search is
+ * to specify a single field and value, and only objects where the
+ * given field matches a set value will be loaded. The search is
+ * case sensitive. If more than one object matches, the choice
+ * of which object to return is undetermined - it may or may
+ * not be consistent between calls to this method. (ie: the field
+ * used should be a unique index/candidate key.)
+ * \sa loadObjects loadSingleObject
+ */
+
DataObject loadSingleObject( in string classname , in string fieldname ,
in string searchvalue )
raises(UnknownClass,UnknownField,ServerError,TransactionNotInProgress);
- /**
- * \brief Force write of data to the database.
- *
- * This method should not be called, as the server now
- * automatically flushes data to the database as required.
- */
+
+ /**
+ * \brief Force write of data to the database.
+ *
+ * This method should not be called, as the server now
+ * automatically flushes data to the database as required.
+ */
+
void flush();
+
- // disconnect from database
- /**
- * \brief Disconnect from the server
- *
- * This method should be called once all processing has been
- * completed, as it helps the server clean up after a client
- * has finished.
- */
+ // disconnect from database
+ /**
+ * \brief Disconnect from the server
+ *
+ * This method should be called once all processing has been
+ * completed, as it helps the server clean up after a client
+ * has finished.
+ */
+
void logout();
+
+ /**
+ * \brief Get the rules used to read a lookup/list/reference field
+ * \param classname Name of the clas to check
+ * \param fieldname Name of the field in that class to load
+ * \return a GEAS::LoadDefinition structure
+ */
- /**
- * \brief Get the rules used to read a lookup/list/reference field
- * \param classname Name of the clas to check
- * \param fieldname Name of the field in that class to load
- * \return a GEAS::LoadDefinition structure
- */
LoadDefinition getReferenceDefinition( in string classname , in string
fieldname )
raises( ServerError );
-
void clearCache();
+
void activateEventLog();
+
readonly attribute Changes latestChanges;
- /* in C:
- GEAS_Connection_activateEventLog( connection_obj , ev );
- ... various operations ...
- ... wait for other clients to modify objects, or modify them yourself
...
- GEAS_Changes *ch = GEAS_Connection__get_latestChanges( connection_obj ,
ev );
- ... use it here (see treshna.idl) ...
- CORBA_free( ch );
-
- note: GEAS_Connection__get_latestChanges() also resets the change log
for the
- application - ie, it will not return the same results twice in a
row
- */
+ /* in C:
+ GEAS_Connection_activateEventLog( connection_obj , ev );
+ ... various operations ...
+ ... wait for other clients to modify objects, or modify them
yourself ...
+ GEAS_Changes *ch = GEAS_Connection__get_latestChanges(
connection_obj , ev );
+ ... use it here (see treshna.idl) ...
+ CORBA_free( ch );
+
+ note: GEAS_Connection__get_latestChanges() also resets the change
log for the
+ application - ie, it will not return the same results twice
in a row
+ */
unsigned long countAllInstances( in string classname );
};
Index: gnue/geas/idl/dataobject.idl
diff -u gnue/geas/idl/dataobject.idl:1.10 gnue/geas/idl/dataobject.idl:1.11
--- gnue/geas/idl/dataobject.idl:1.10 Mon May 14 17:57:57 2001
+++ gnue/geas/idl/dataobject.idl Mon Sep 10 09:28:37 2001
@@ -1,153 +1,199 @@
+/*
+ dataobject.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: dataobject.idl,v 1.11 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
module GEAS{
interface Connection;
-// Base class, handles reading and writing data from the database
+ // Base class, handles reading and writing data from the database
+
+ /**
+ * \brief Manage a single business object.
+ *
+ * All operations on a business object are handled by this class.
+ */
-/**
- * \brief Manage a single business object.
- *
- * All operations on a business object are handled by this class.
- */
-
interface DataObject {
- // unique identifier for a particular instance
- /** \brief The unique identifier for this particular object.
- * Identifiers are only guaranteed unique within a particular
- * business class hierachy.
- */
+
+ // unique identifier for a particular instance
+ /** \brief The unique identifier for this particular object.
+ * Identifiers are only guaranteed unique within a particular
+ * business class hierachy.
+ */
+
readonly attribute ObjectReference objectID;
+
- /* returns TRUE if object has this ID */
+ /** \brief returns TRUE if object has this ID
+ */
+
boolean identity( in string classname , in string oid );
- // schema related methods & attributes
- /** \brief Determines if an object is an instance of a given class
- * \param classname The name of the class that the client is interested in
- * \return CORBA::TRUE is the object is an instance of the named class.
- * and CORBA::FALSE otherwise.
- */
+
+ // schema related methods & attributes
+ /** \brief Determines if an object is an instance of a given class
+ * \param classname The name of the class that the client is
interested in
+ * \return CORBA::TRUE is the object is an instance of the named
class.
+ * and CORBA::FALSE otherwise.
+ */
+
boolean ofclass( in string classname ) raises(ServerError);
+
- /**
- * \brief The name of the most derived class that this object is an
- * instance of. All other classes that this object is an
- * instance of are parents of this class.
- */
+ /**
+ * \brief The name of the most derived class that this object is an
+ * instance of. All other classes that this object is an
+ * instance of are parents of this class.
+ */
+
readonly attribute string classname; // name of final (and known)
derived class
+
- /** \brief A list of the names of all classes this is an instance of */
+ /** \brief A list of the names of all classes
+ * this is an instance of */
+
readonly attribute classnames classes;
- /** \brief Information on all fields (including inherited fields)
- * in this object.
- */
+
+ /** \brief Information on all fields (including inherited fields)
+ * in this object.
+ */
+
readonly attribute fieldlist allfields;
+
- // returns a list of items that can be placed in a lookup field
- /** \brief A list of all candidates for this lookup field.
- * \param fieldname The name of the lookup field
- * \sa GEAS::Connection::getLookupFieldOptions()
- */
+ // returns a list of items that can be placed in a lookup field
+ /** \brief A list of all candidates for this lookup field.
+ * \param fieldname The name of the lookup field
+ * \sa GEAS::Connection::getLookupFieldOptions()
+ */
+
LookupOptions getLookupFieldOptions( in string fieldname )
raises(UnknownField,NotLookupField,Interrupted,ServerError,Locked,TransactionNotInProgress);
+
- // edit an object so that it uses the new lookup field
- // best done using an entry from the list returned by getLookupFieldOptions
- /** \brief Automatically update a lookup field
- *
- * While the LookupOption can be created manually, the items in the list
- * returned by getLookupFieldOptions or
GEAS::Connection::getLookupFieldOptions()
- * are the easiest ones to use: simply pass in the desired entry
- * in the list, and the field will be updated appropriately.
- */
+ // edit an object so that it uses the new lookup field
+ // best done using an entry from the list returned by
getLookupFieldOptions
+ /** \brief Automatically update a lookup field
+ *
+ * While the LookupOption can be created manually, the items in the
list
+ * returned by getLookupFieldOptions or
GEAS::Connection::getLookupFieldOptions()
+ * are the easiest ones to use: simply pass in the desired entry
+ * in the list, and the field will be updated appropriately.
+ */
+
void setLookupField( in LookupOption setting )
raises(UnknownField,NotWriteable,ServerError,Interrupted,Locked,TransactionNotInProgress);
+
+ // read/write data
+ /** \brief Read data
+ *
+ * The contents of a basic field, a lookup field, a calculated field
+ * or a method with no arguments and a 'string' return type can
+ * be read with this function.
+ * \param fieldname The name of the field to read
+ * \return The contents of the field, converted to a string
+ */
- // read/write data
- /** \brief Read data
- *
- * The contents of a basic field, a lookup field, a calculated field
- * or a method with no arguments and a 'string' return type can
- * be read with this function.
- * \param fieldname The name of the field to read
- * \return The contents of the field, converted to a string
- */
- string getField ( in string fieldname )
+ string getField( in string fieldname )
raises(UnknownField,NotReadable,ServerError,Interrupted,NullField,NotDataField,Locked,TransactionNotInProgress);
+
- /** \brief Write data
- *
- * The contents of a basic data field may be set with this method.
- * \param fieldname The name of the field to write.
- * \param value The new value of the field, converted to a string.
- */
- void setField ( in string fieldname , in string value )
+ /** \brief Write data
+ *
+ * The contents of a basic data field may be set with this method.
+ * \param fieldname The name of the field to write.
+ * \param value The new value of the field, converted to a string.
+ */
+
+ void setField( in string fieldname, in string value )
raises(UnknownField,NotWriteable,ServerError,Interrupted,NotDataField,Locked,TransactionNotInProgress,Format);
+
- /** \brief Read from a reference field.
- *
- * A reference field points to a single business object. This method
- * returns a reference to the appropriate object.
- * \param The name of the reference field to read
- * \return A reference to the object, or CORBA::OBJECT::NIL if
- * the field is empty.
- */
- DataObject getReference( in string fieldname )
+ /** \brief Read from a reference field.
+ *
+ * A reference field points to a single business object. This method
+ * returns a reference to the appropriate object.
+ * \param The name of the reference field to read
+ * \return A reference to the object, or CORBA::OBJECT::NIL if
+ * the field is empty.
+ */
+
+ DataObject getReference( in string fieldname )
raises(UnknownField,NotReferenceField,ServerError,Interrupted,Locked,TransactionNotInProgress);
+
+
+ /** \brief Read from a list field.
+ *
+ * A reference field points to an unsorted list of business
+ * objects. This method returns a reference to the appropriate
+ * object. \param The name of the reference field to read \return
+ * A reference to an ObjectList, which may have 0 or more entries.
+ */
- /** \brief Read from a list field.
- *
- * A reference field points to an unsorted list of business
- * objects. This method returns a reference to the appropriate
- * object. \param The name of the reference field to read \return
- * A reference to an ObjectList, which may have 0 or more entries.
- */
- ObjectList getList ( in string fieldname )
+ ObjectList getList( in string fieldname )
raises(UnknownField,NotReferenceField,ServerError,Interrupted,Locked,TransactionNotInProgress);
+
+
+ /** \brief Add an object to a list field
+ *
+ * \param Name of the list field.
+ * \param obj The business object to add to the list
+ */
- /** \brief Add an object to a list field
- *
- * \param Name of the list field.
- * \param obj The business object to add to the list
- */
void insert( in string fieldname , in DataObject obj )
raises(UnknownField,NotListField,WrongClass,Interrupted,NotWriteable,ServerError,Locked,TransactionNotInProgress);
- /** \brief Update a reference field
- *
- * The indicated object is placed in the reference field. The old object
- * is removed from the field, but is not deleted from the database.
- * \param fuieldname The name of the reference field.
- * \param obj The object to place in this field
- */
+
+ /** \brief Update a reference field
+ *
+ * The indicated object is placed in the reference field. The old
object
+ * is removed from the field, but is not deleted from the database.
+ * \param fuieldname The name of the reference field.
+ * \param obj The object to place in this field
+ */
+
void setReference( in string fieldname , in DataObject obj )
raises(UnknownField,NotReferenceField,WrongClass,Interrupted,NotWriteable,ServerError,Locked,TransactionNotInProgress);
+
- /** \brief Not required.
- * \deprecated Was used when the database could not do a flush
- * without client assistance. */
+ /** \brief Not required.
+ * \deprecated Was used when the database could not do a flush
+ * without client assistance. */
+
oneway void flush();
+
- /** \brief Delete an object
- *
- * The business object is deleted from the database.
- */
+ /** \brief Delete an object
+ *
+ * The business object is deleted from the database.
+ */
+
void delete()
raises(Interrupted,ServerError,Locked,TransactionNotInProgress);
+
- /**
- * \brief Call a method in a business class
- *
- * \param methodname The name of the method to call
- * \param args A list of strings that will be passed to the
- * method as arguments.
- * \return The result of the method call, converted to a string.
- * An empty string (Not a NULL value) is returned if the
- * method did not have a return value.
- */
+ /**
+ * \brief Call a method in a business class
+ *
+ * \param methodname The name of the method to call
+ * \param args A list of strings that will be passed to the
+ * method as arguments.
+ * \return The result of the method call, converted to a string.
+ * An empty string (Not a NULL value) is returned if the
+ * method did not have a return value.
+ */
+
string callMethod( in string methodname , in Arguments args )
raises(ArgumentCount,UnknownMethod,InvalidArgument,MethodError,NullField,ServerError,Locked,TransactionNotInProgress);
+
readonly attribute boolean inDatabase;
};
Index: gnue/geas/idl/exceptions.idl
diff -u gnue/geas/idl/exceptions.idl:1.7 gnue/geas/idl/exceptions.idl:1.8
--- gnue/geas/idl/exceptions.idl:1.7 Wed Feb 28 22:32:56 2001
+++ gnue/geas/idl/exceptions.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,14 @@
+/*
+ exceptions.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: exceptions.idl,v 1.8 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS {
#define std_body string detail
Index: gnue/geas/idl/factory.idl
diff -u gnue/geas/idl/factory.idl:1.7 gnue/geas/idl/factory.idl:1.8
--- gnue/geas/idl/factory.idl:1.7 Tue Feb 20 18:42:42 2001
+++ gnue/geas/idl/factory.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,14 @@
+/*
+ factory.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: factory.idl,v 1.8 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS{
/**
@@ -10,64 +21,73 @@
interface ConnectionFactory
{
- // guest login
- /**
- * \brief Anonymous login
- *
- * This returns a reference to a Connection object useable
- * by any client without authentication
- * \return A new Connection object
- */
+ /**
+ * \brief Anonymous login
+ *
+ * This returns a reference to a Connection
+ * object useable
+ * by any client without authentication
+ * \return A new Connection object
+ */
+
Connection guestLogin()
raises(AuthenticationError,ServerError);
+
- // IMPORTANT: PLANNED API CHANGE
- // the guestLogin() method will remain, but the rest of the methods will
- // be replaced with the CORBA security system. However, until the security
- // code is implemented, this isnt a major limitation. shortly, the
- // official methods will be added to this file, as a placeholder for the
- // real security system. Do not use the following methods: they will be
- // removed, although for the time being will automatically allow all logins
- // to succeed.
-
- // really just a temporary function, provides no real security
- /**
- * \brief Not secure, and only temporary
- *
- * This provides no security at all. It will be removed soon enough.
- *
- * \param username The username to use
- * \param password That users password
- * \return A GEAS::Connection instance
- */
+ // IMPORTANT: PLANNED API CHANGE
+ // the guestLogin() method will remain, but the rest of the methods
will
+ // be replaced with the CORBA security system. However, until the
security
+ // code is implemented, this isnt a major limitation. shortly, the
+ // official methods will be added to this file, as a placeholder for
the
+ // real security system. Do not use the following methods: they will be
+ // removed, although for the time being will automatically allow all
logins
+ // to succeed.
+
+ // really just a temporary function, provides no real security
+ /**
+ * \brief Not secure, and only temporary
+ *
+ * This provides no security at all. It will be removed soon enough.
+ *
+ * \param username The username to use
+ * \param password That users password
+ * \return A GEAS::Connection instance
+ */
+
Connection unsecureLogin( in string username , in string password )
raises(AuthenticationError,ServerError);
- // authentication methods
- /**
- * \brief To be changed: Do not use.
- *
- * This will most likely be removed in the next API
- * change. It is not currently implemented.
- */
+
+ // authentication methods
+ /**
+ * \brief To be changed: Do not use.
+ *
+ * This will most likely be removed in the next API
+ * change. It is not currently implemented.
+ */
+
string getAuthenticationKey( in string username );
+
- /**
- * \brief To be changed: Do not use.
- *
- * This will most likely be removed in the next API
- * change. It is not currently implemented.
- */
+ /**
+ * \brief To be changed: Do not use.
+ *
+ * This will most likely be removed in the next API
+ * change. It is not currently implemented.
+ */
+
Connection getConnection( in string username , in string passkey )
raises(AuthenticationError);
+
- // admin login: gain access to server management API
- /**
- * \brief To be changed: Do not use.
- *
- * This will most likely be removed in the next API
- * change. It is not currently implemented.
- */
+ // admin login: gain access to server management API
+ /**
+ * \brief To be changed: Do not use.
+ *
+ * This will most likely be removed in the next API
+ * change. It is not currently implemented.
+ */
+
Admin adminLogin( in string username , in string passkey )
raises(AuthenticationError);
};
Index: gnue/geas/idl/geas.idl
diff -u gnue/geas/idl/geas.idl:1.5 gnue/geas/idl/geas.idl:1.6
--- gnue/geas/idl/geas.idl:1.5 Mon May 14 17:57:57 2001
+++ gnue/geas/idl/geas.idl Mon Sep 10 09:28:37 2001
@@ -1,9 +1,20 @@
-// general stuff
+/*
+ geas.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: geas.idl,v 1.6 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
+ // general stuff
#include "typedefs.idl"
#include "exceptions.idl"
#include "schema.idl"
-// main system classes
+ // main system classes
#include "query.idl"
#include "admin.idl"
#include "transaction.idl"
@@ -12,5 +23,5 @@
#include "objectlist.idl"
#include "factory.idl"
-// link to method provider code
+ // link to method provider code
#include "methodprovider.idl"
Index: gnue/geas/idl/methodprovider.idl
diff -u gnue/geas/idl/methodprovider.idl:1.2
gnue/geas/idl/methodprovider.idl:1.3
--- gnue/geas/idl/methodprovider.idl:1.2 Wed Feb 7 15:43:19 2001
+++ gnue/geas/idl/methodprovider.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,13 @@
+/*
+ methodprovider.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: methodprovider.idl,v 1.3 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
module GEAS {
Index: gnue/geas/idl/objectlist.idl
diff -u gnue/geas/idl/objectlist.idl:1.4 gnue/geas/idl/objectlist.idl:1.5
--- gnue/geas/idl/objectlist.idl:1.4 Mon Feb 12 17:35:17 2001
+++ gnue/geas/idl/objectlist.idl Mon Sep 10 09:28:37 2001
@@ -1,108 +1,144 @@
+/*
+ objectlist.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: objectlist.idl,v 1.5 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS{
interface DataObject;
-/**
- * \brief A list if object references.
- *
- * This is used for passing the entire contents of a list in one method call.
- */
+
+ /**
+ * \brief A list if object references.
+ *
+ * This is used for passing the entire contents of a list in one
method call.
+ */
+
typedef sequence<DataObject> objectslist;
-/** \brief an ObjectList contains an unsorted set of objects.
- *
- * An object list is usually generated in response to either a query
- * or a read request on a list field in a data object.
- */
+
+ /** \brief an ObjectList contains an unsorted set of objects.
+ *
+ * An object list is usually generated in response to either a query
+ * or a read request on a list field in a data object.
+ */
+
interface ObjectList {
readonly attribute unsigned long length; // number of entries
readonly attribute objectslist objects; // get list as a sequence
readonly attribute string classname;
- // get a reference to the specific DataObject
+
+ // get a reference to the specific DataObject
+
DataObject getEntry( in unsigned long index )
raises(OutOfBounds);
+
+
+ // add an object to the list: ignores search criteria
+ // used to build the list, but filters still apply
- // add an object to the list: ignores search criteria
- // used to build the list, but filters still apply
void appendObject( in DataObject obj )
raises( WrongClass , ServerError );
-
- // remove an entry from the list, releasing the DataObject
- // does not delete it from the actual database
- void removeEntry( in unsigned long index )
+
+
+ // remove an entry from the list, releasing the DataObject
+ // does not delete it from the actual database
+
+ void removeEntry( in unsigned long index )
raises(OutOfBounds,ServerError);
+
+ // rearrange all items in a list, using the given field
- // rearrange all items in a list, using the given field
void resort( in string fieldname , in boolean ascending )
raises( UnknownField );
- // filter management
- // BEGIN UNSTABLE SECTION
- // this part of the API is subject to change without notice - you
- // have been warned :)
- // it shouldnt be too bad, though - it was agreed to before I
- // implemented it, not that that means anything :)
-
- // remove objects where field compare value
- // eg: remove all objects where "name" "=" "harold"
- // returns the number of objects removed that were previously included
- // or 0 if delayFilter is TRUE
+ // filter management
+
+
+ // BEGIN UNSTABLE SECTION
+
+
+ // this part of the API is subject to change without notice - you
+ // have been warned :)
+ // it shouldnt be too bad, though - it was agreed to before I
+ // implemented it, not that that means anything :)
+
+ // remove objects where field compare value
+ // eg: remove all objects where "name" "=" "harold"
+ // returns the number of objects removed that were previously included
+ // or 0 if delayFilter is TRUE
+
unsigned long hideObjects( in string fieldname , in string compare , in
string value )
raises( UnknownField , ServerError );
+
- // remove a particular filter - ie, the indicated test is no longer
- // required
+ // remove a particular filter - ie, the indicated test is no longer
+ // required
+
unsigned long showObjects( in string fieldname , in string compare , in
string value )
raises( UnknownField , FilterNotSet , ServerError );
+
- // remove all filters, putting all objects into the current visible list
+ // remove all filters, putting all objects into the current visible
list
+
void showAll();
+
- // update the list to reflect the current set of filters
- // return is number of objects removed (ie, total count of
- // objects added or removed from the current list. each
- // object is processed only once, even if multiple filters affect it)
+ // update the list to reflect the current set of filters
+ // return is number of objects removed (ie, total count of
+ // objects added or removed from the current list. each
+ // object is processed only once, even if multiple filters affect it)
+
unsigned long applyFilter();
+
+ // defaults to 'off'. if set to 'on', the list is updated
+ // after every operation, otherwise an 'updateFilter()' call is
+ // needed
- // defaults to 'off'. if set to 'on', the list is updated
- // after every operation, otherwise an 'updateFilter()' call is
- // needed
attribute boolean delayFilter;
- // END UNSTABLE SECTION
- // server side memory management
- // releaseAll() should be called once the client is finished with a list
- // use release() if you've still got pointers to the objects you're
interested in
- // releaseObjects() is probably not much use, really
+ // END UNSTABLE SECTION
+
+ // server side memory management
+ // releaseAll() should be called once the client is finished with a
list
+ // use release() if you've still got pointers to the objects you're
interested in
+ // releaseObjects() is probably not much use, really
+
void release();
};
};
// example python code:
-
+//
// list = connection.loadObjects( "Customer" , "age" , "42" )
// print list.length , " customers are 42"
// for c in list.objects:
// print c.name
// list.releaseAll()
-
+//
// or:
-
+//
// list = connection.loadObjects( "Customer" , "age" , "42" )
// print list.length , " customers are 42"
// for i in range(list.length)
// c = list.getEntry( i )
// print c.name
// list.releaseAll()
-
+//
// vs the original, somewhat messier code:
-
+//
// count = 0
// start = connection.loadObjects( "Customer" , "age" , "42" )
// c = start
Index: gnue/geas/idl/query.idl
diff -u gnue/geas/idl/query.idl:1.4 gnue/geas/idl/query.idl:1.5
--- gnue/geas/idl/query.idl:1.4 Mon Sep 10 08:10:44 2001
+++ gnue/geas/idl/query.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,13 @@
+/*
+ query.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: query.idl,v 1.5 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
module GEAS
{
@@ -8,6 +18,7 @@
enum compare { equals , lessthan , greaterthan ,
contains , startswith , endswith
};
+
struct Field
{
string field;
@@ -18,6 +29,7 @@
};
enum logictype { AND , OR , UNKNOWN };
+
interface Constraint
{
attribute logictype logic;
@@ -27,14 +39,19 @@
interface Query : Constraint
{
- // normally only used internally, but you can play with it if you want
+ // normally only used internally,
+ // but you can play with it if you want
+
readonly attribute ObjectReference id;
void release();
+
void clear();
attribute string classname; // classname to load
+
attribute string orderby; // override default ordering
+
attribute boolean reverse; // reverse sort order
};
Index: gnue/geas/idl/schema.idl
diff -u gnue/geas/idl/schema.idl:1.8 gnue/geas/idl/schema.idl:1.9
--- gnue/geas/idl/schema.idl:1.8 Fri Sep 7 15:25:31 2001
+++ gnue/geas/idl/schema.idl Mon Sep 10 09:28:37 2001
@@ -1,23 +1,36 @@
+/*
+ schema.idl - describe the set of classes and fields
+ available to the current client.
+ (ie, not restricted by the security system)
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: schema.idl,v 1.9 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS{
-// SCHEMA: describe the set of classes and fields available to the
-// current client. (ie, not restricted by the security system)
+ // describe individual fields in a class
-// describe individual fields in a class
enum fieldtype { unknown , basic , lookup , list , reference ,
calculated , method , nowrite };
+
struct FieldDefinition
{
- string name; // name of field
- string classname; // class that defined this field
- fieldtype type; // what sort of data
- Datatype datatype; // datatype for basic data fields
- boolean notnull; // are null values forbidden?
- boolean isreadonly; // readonly field?
+ string name; // name of field
+ string classname; // class that defined this field
+ fieldtype type; // what sort of data
+ Datatype datatype; // datatype for basic data fields
+ boolean notnull; // are null values forbidden?
+ boolean isreadonly; // readonly field?
string format;
string datatypeclass;
- string defaultvalue; // what's the default for this field
+ string defaultvalue; // what's the default for this field
};
+
typedef sequence<FieldDefinition> fieldlist;
typedef sequence<string>classnames;
@@ -25,38 +38,47 @@
struct ClassDefinition
{
string name;
- string gcdfilename; // filename defining this class
- classnames parents; // list of immediate parents
- fieldlist fields; // fields in this class
- boolean allfields; // TRUE if inherited fields are included
+ string gcdfilename; // filename defining this class
+ classnames parents; // list of immediate parents
+ fieldlist fields; // fields in this class
+ boolean allfields; // TRUE if inherited fields are included
};
+
typedef sequence<ClassDefinition> classlist;
-// retrieve a list of LookupOptions to determine the contents of
-// a dropdown box, and how to edit the object to make the given
-// option appear in the lookup field
+ // retrieve a list of LookupOptions to determine
+ // the contents of
+ // a dropdown box, and how to edit the object to
+ // make the given
+ // option appear in the lookup field
+
struct setlookup
{
string field;
string value;
};
+
typedef sequence<setlookup> setlookuplist;
+
+
struct LookupOption
{
setlookuplist setdata;
string value;
};
+
typedef sequence<LookupOption> LookupOptions;
+
+ /** \brief Defines a lookup/reference/list field */
-/** \brief Defines a lookup/reference/list field */
struct LoadDefinition
{
- fieldtype type; // GEAS_lookup or GEAS_reference or GEAS_list
- string fieldname; /** The name of the field this defines */
- string classname; /** The class to laod */
- string loadfield; /* The field in the class, or an empty string for
list/reference fields */
+ fieldtype type; // GEAS_lookup or GEAS_reference or GEAS_list
+ string fieldname; /** The name of the field this defines */
+ string classname; /** The class to laod */
+ string loadfield; /* The field in the class, or an empty string
for list/reference fields */
sequence<string> srcfields; /* A sequence of fields in the class loaded */
sequence<string> thisfields; /* A sequence of fields in the object
containing the lookup field */
};
Index: gnue/geas/idl/transaction.idl
diff -u gnue/geas/idl/transaction.idl:1.2 gnue/geas/idl/transaction.idl:1.3
--- gnue/geas/idl/transaction.idl:1.2 Mon Feb 12 17:35:17 2001
+++ gnue/geas/idl/transaction.idl Mon Sep 10 09:28:37 2001
@@ -1,115 +1,142 @@
+/*
+ transaction.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: transaction.idl,v 1.3 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS{
-/** Included for ODMG compatability. Not used. */
+ /** Included for ODMG compatability. Not used. */
exception DatabaseClosed {}; /* ODMG compatability */
-/**
- * \brief Manage transactions
- *
- * The Transaction class is used for managing the status of a
- * single transaction. A new Transaction object is allocated by a
- * TransactionFactory, and can be reused as often as is required.
- */
+
+ /**
+ * \brief Manage transactions
+ *
+ * The Transaction class is used for managing the status of a
+ * single transaction. A new Transaction object is allocated by a
+ * TransactionFactory, and can be reused as often as is required.
+ */
interface Transaction
{
- /**
- * \brief Start a transaction
- *
- * Until a transaction has been opened with the begin() method, $
- * it can not be used.
- * \exception TransactionInProgress
- * A transaction must be closed with either commit() or
- * abort() before it can be restarted.
- *
- * \exception DatabaseClosed
- * Indicates that database access is not possible. (Not
- * currently used.)
- */
+ /**
+ * \brief Start a transaction
+ *
+ * Until a transaction has been opened with the begin() method, $
+ * it can not be used.
+ * \exception TransactionInProgress
+ * A transaction must be closed with either commit() or
+ * abort() before it can be restarted.
+ *
+ * \exception DatabaseClosed
+ * Indicates that database access is not possible. (Not
+ * currently used.)
+ */
+
void begin() raises( TransactionInProgress,DatabaseClosed );
- /**
- * \brief Successful completion of a transaction.
- *
- * A commit writes all data to permanent storage, and unlocks
- * all locked resources, and closes the Transaction object.
- */
+
+ /**
+ * \brief Successful completion of a transaction.
+ *
+ * A commit writes all data to permanent storage, and unlocks
+ * all locked resources, and closes the Transaction object.
+ */
+
void commit() raises( TransactionNotInProgress );
+
+ /**
+ * \brief Rollback a transaction.
+ *
+ * The ODMG (http://www.odmg.org/) API uses the abort() method
+ * for implementing a database rollback. This undoes
+ * all operations in the database that were part of this
+ * transaction, then unlocks resources, and closes the transaction.
+ */
- /**
- * \brief Rollback a transaction.
- *
- * The ODMG (http://www.odmg.org/) API uses the abort() method
- * for implementing a database rollback. This undoes
- * all operations in the database that were part of this
- * transaction, then unlocks resources, and closes the transaction.
- */
void abort() raises( TransactionNotInProgress );
+
+
+ /**
+ * \brief Commit without closing transaction.
+ *
+ * This acts like the commit() operation, but allows the
+ * transaction to continue. (The standard is not clear on the
+ * effect of an abort() after a checkpoint() so this
+ * should be considered as undefined, until otherwise noted.)
+ */
- /**
- * \brief Commit without closing transaction.
- *
- * This acts like the commit() operation, but allows the
- * transaction to continue. (The standard is not clear on the
- * effect of an abort() after a checkpoint() so this
- * should be considered as undefined, until otherwise noted.)
- */
void checkpoint() raises( TransactionNotInProgress );
- /**
- * \brief Activate a different transaction
- *
- * A client may have multiple transactions active at any one time.
- * The join() method first issues a leave() operation on the
- * current transaction (if any) and then makes this transaction
- * the currently active one.
- */
+
+ /**
+ * \brief Activate a different transaction
+ *
+ * A client may have multiple transactions active at any one time.
+ * The join() method first issues a leave() operation on the
+ * current transaction (if any) and then makes this transaction
+ * the currently active one.
+ */
+
void join() raises( TransactionNotInProgress );
+
- /**
- * \brief Temporarily stop using a transaction.
- *
- * After a leave() operation, further operations will not be
- * handled in that transaction context. Another transaction must
- * be join()ed, if the next database operations require a
- * transaction.
- */
+ /**
+ * \brief Temporarily stop using a transaction.
+ *
+ * After a leave() operation, further operations will not be
+ * handled in that transaction context. Another transaction must
+ * be join()ed, if the next database operations require a
+ * transaction.
+ */
+
void leave() raises( TransactionNotInProgress );
+
- /**
- * \brief Status of the Transaction object
- *
- * Determines if a transaction is open (has had the begin() operation
- * executed, but not yet reached a commit() or abort() operation.
- * \return CORBA::TRUE if the transaction is open, otherwise CORBA::FALSE
- */
+ /**
+ * \brief Status of the Transaction object
+ *
+ * Determines if a transaction is open (has had the begin() operation
+ * executed, but not yet reached a commit() or abort() operation.
+ * \return CORBA::TRUE if the transaction is open, otherwise
CORBA::FALSE
+ */
+
boolean isOpen();
};
-/**
- * \brief Entry point to transaction system
- *
- * Each transaction requires a Transaction object instance, to act
- * as a coordinator.
- */
+ /**
+ * \brief Entry point to transaction system
+ *
+ * Each transaction requires a Transaction object instance, to act
+ * as a coordinator.
+ */
+
interface TransactionFactory
{
- /**
- * \brief Request a new transaction
- *
- * Creates a new Transaction instance, for use in managing transactions
- * \return A new current Transaction object
- */
+ /**
+ * \brief Request a new transaction
+ *
+ * Creates a new Transaction instance, for use in managing transactions
+ * \return A new current Transaction object
+ */
+
Transaction new();
+
- /**
- * \brief Get the current transaction
- *
- * Retrieves the currently active transaction (although this transaction
- * may not be open.)
- * \return The current Transaction object, or CORBA::OBJECT::NIL if
- * there is no transaction
- */
+ /**
+ * \brief Get the current transaction
+ *
+ * Retrieves the currently active transaction (although this
transaction
+ * may not be open.)
+ * \return The current Transaction object, or CORBA::OBJECT::NIL if
+ * there is no transaction
+ */
Transaction current();
};
Index: gnue/geas/idl/treshna.idl
diff -u gnue/geas/idl/treshna.idl:1.1 gnue/geas/idl/treshna.idl:1.2
--- gnue/geas/idl/treshna.idl:1.1 Mon May 14 17:57:57 2001
+++ gnue/geas/idl/treshna.idl Mon Sep 10 09:28:37 2001
@@ -1,3 +1,14 @@
+/*
+ treshna.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: treshna.idl,v 1.2 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
/* treshna specific stuff */
module GEAS
Index: gnue/geas/idl/typedefs.idl
diff -u gnue/geas/idl/typedefs.idl:1.6 gnue/geas/idl/typedefs.idl:1.7
--- gnue/geas/idl/typedefs.idl:1.6 Fri Jun 29 06:37:31 2001
+++ gnue/geas/idl/typedefs.idl Mon Sep 10 09:28:37 2001
@@ -1,21 +1,43 @@
+/*
+ admin.idl
+
+ Part of GNU Enterprise Application Server (GEAS)
+
+ Copyright (C) 2000 Free Software Foundation
+
+ $Id: typedefs.idl,v 1.7 2001/09/10 13:28:37 ntiffin Exp $
+
+ */
+
module GEAS {
+
+ // features available - each database
+ // indicates if it supports them or not
- // features available - each database indicates if it supports them or not
enum Feature { Transactions , Security };
- // user access permissions (not enforced, yet)
+ // user access permissions
+ // (not enforced, yet)
+
enum Permission { Read , Write , Execute , Delete , Create };
+
+ // used for the 'doMethod' method, for
+ // executing arbitrary python (or C?) code
- // used for the 'doMethod' method, for executing arbitrary python (or C?)
code
typedef sequence<string> Arguments;
- // known data types in the database (each maps to a specific CORBA
datatype)
- // note that these are just a few examples, and the list is not yet
complete
+ // known data types in the database
+ // (each maps to a specific CORBA datatype)
+ // note that these are just a few examples,
+ // and the list is not yet complete
+
enum Datatype { Char , Int , Text , Class , Date , Time , DateTime , Bool ,
- FloatValue , Void , ObjectRef , Enum , UnsignedInt ,
- UnknownDatatype , Int16 , Int32 , Int64 , Boolean };
+ FloatValue , Void , ObjectRef , Enum , UnsignedInt ,
+ UnknownDatatype , Int16 , Int32 , Int64 , Boolean };
+
+ // Opaque datatype: do not attempt to
+ // interpret the contents, as it may
+ // be changed arbitrarily
- // Opaque datatype: do not attempt to interpret the contents, as it may
- // be changed arbitrarily
typedef string ObjectReference;
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/geas/idl admin.idl connection.idl dataobje...,
Neil Tiffin <=