Added GPLv2+ as license for libgrammatic
[cascardo/grammar.git] / grammar.h
index f945330..fd31084 100644 (file)
--- a/grammar.h
+++ b/grammar.h
@@ -1,21 +1,27 @@
+/*
+ *  Copyright (C) 2005  Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+
+
 #ifndef GRAMMAR_H
 #define GRAMMAR_H
 
 #include <glib.h>
-#include <glib-object.h>
-
-#define GRAMMAR_TYPE            (grammar_get_type ())
-#define GRAMMAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
-                                    GRAMMAR_TYPE, Grammar))
-#define GRAMMAR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), \
-                                    GRAMMAR_TYPE, GrammarClass))
-#define IS_GRAMMAR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
-                                    GRAMMAR_TYPE))
-#define IS_GRAMMAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
-                                    GRAMMAR_TYPE))
-#define GRAMMAR_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
-                                    GRAMMAR_TYPE, GrammarClass))
-
 
 typedef gint (*nextcb) (gpointer, gpointer*);
 
@@ -28,15 +34,8 @@ typedef struct
 typedef struct _rule rule_t;
 typedef struct
 {
-  GObject parent;
   GHashTable* grammar;
-} Grammar;
-typedef struct
-{
-  GObjectClass parent;
-} GrammarClass;
-
-GType grammar_get_type ();
+} grammar_t;
 
 symbol_t* symbol_new (gboolean, GQuark);
 symbol_t* symbol_copy (symbol_t*);
@@ -53,9 +52,10 @@ symbol_t* rule_pop (rule_t*);
 void rule_append (rule_t*, symbol_t*);
 void rule_delete (rule_t*);
 
-
-rule_t* grammar_rule_new (Grammar*, symbol_t*);
-GList* grammar_get_rules (Grammar*, symbol_t*);
+grammar_t* grammar_new ();
+rule_t* grammar_rule_new (grammar_t*, symbol_t*);
+GList* grammar_get_rules (grammar_t*, symbol_t*);
 GList* grammar_get_rule (rule_t*);
+void grammar_delete (grammar_t*);
 
 #endif