commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/geas/src/classdef classdef.c classdef.h


From: Reinhard Mueller
Subject: gnue/geas/src/classdef classdef.c classdef.h
Date: Tue, 18 Dec 2001 16:29:12 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Reinhard Mueller <address@hidden>       01/12/18 16:29:12

Modified files:
        geas/src/classdef: classdef.c classdef.h 

Log message:
        Added function to find a class by fully qualified name.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/classdef.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/classdef.h.diff?tr1=1.26&tr2=1.27&r1=text&r2=text

Patches:
Index: gnue/geas/src/classdef/classdef.c
diff -c gnue/geas/src/classdef/classdef.c:1.29 
gnue/geas/src/classdef/classdef.c:1.30
*** gnue/geas/src/classdef/classdef.c:1.29      Sat Dec 15 05:42:28 2001
--- gnue/geas/src/classdef/classdef.c   Tue Dec 18 16:29:12 2001
***************
*** 19,25 ****
     along with GEAS; if not, write to the Free Software Foundation, Inc.,
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
!    $Id: classdef.c,v 1.29 2001/12/15 10:42:28 reinhard Exp $
  */
  
  #include "config.h"
--- 19,25 ----
     along with GEAS; if not, write to the Free Software Foundation, Inc.,
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
!    $Id: classdef.c,v 1.30 2001/12/18 21:29:12 reinhard Exp $
  */
  
  #include "config.h"
***************
*** 589,594 ****
--- 589,632 ----
  /* ========================================================================= 
*\
   * Classes
  \* ========================================================================= 
*/
+ 
+ /* ------------------------------------------------------------------------- 
*\
+  * Find an existing class by fully qualified name (module::class)
+ \* ------------------------------------------------------------------------- 
*/
+ geas_cd_class *
+ geas_cd_class_find (const char *name)
+ {
+   char **pieces;
+   geas_cd_module *module;
+   geas_cd_class *result;
+ 
+   g_return_val_if_fail (_modules, NULL);
+   g_return_val_if_fail (name, NULL);
+ 
+   pieces = g_strsplit (name, "::", 2);
+ 
+   if (!pieces[0] || !pieces[1])
+     {
+       result = NULL;
+     }
+   else
+     {
+       module = geas_cd_module_find (pieces[0]);
+ 
+       if (!module)
+         {
+           result = NULL;
+         }
+       else
+         {
+           result = geas_cd_module_find_class (module, pieces[1]);
+         }
+     }
+ 
+   g_strfreev (pieces);
+ 
+   return (result);
+ }
  
  /* ------------------------------------------------------------------------- 
*\
   * Set the filename where a class is stored
Index: gnue/geas/src/classdef/classdef.h
diff -c gnue/geas/src/classdef/classdef.h:1.26 
gnue/geas/src/classdef/classdef.h:1.27
*** gnue/geas/src/classdef/classdef.h:1.26      Sat Dec 15 04:54:35 2001
--- gnue/geas/src/classdef/classdef.h   Tue Dec 18 16:29:12 2001
***************
*** 19,25 ****
     along with GEAS; if not, write to the Free Software Foundation, Inc.,
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
!    $Id: classdef.h,v 1.26 2001/12/15 09:54:35 reinhard Exp $
  */
  
  #ifndef _CLASSDEF_H
--- 19,25 ----
     along with GEAS; if not, write to the Free Software Foundation, Inc.,
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
!    $Id: classdef.h,v 1.27 2001/12/18 21:29:12 reinhard Exp $
  */
  
  #ifndef _CLASSDEF_H
***************
*** 97,102 ****
--- 97,103 ----
   * Classes
  \* ------------------------------------------------------------------------- 
*/
  
+ geas_cd_class     *geas_cd_class_find (const char *name);
  void               geas_cd_class_set_filename (geas_cd_class *c,
                                                 const char *filename);
  const char        *geas_cd_class_get_name (const geas_cd_class *c);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]