/* * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com) * * This library is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation. * * This library 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 Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Authors: Michael Zucchi */ #if !defined (__CAMEL_H_INSIDE__) && !defined (CAMEL_COMPILATION) #error "Only can be included directly." #endif #ifndef CAMEL_TEXT_INDEX_H #define CAMEL_TEXT_INDEX_H #include /* Standard GObject macros */ #define CAMEL_TYPE_TEXT_INDEX \ (camel_text_index_get_type ()) #define CAMEL_TEXT_INDEX(obj) \ (G_TYPE_CHECK_INSTANCE_CAST \ ((obj), CAMEL_TYPE_TEXT_INDEX, CamelTextIndex)) #define CAMEL_TEXT_INDEX_CLASS(cls) \ (G_TYPE_CHECK_CLASS_CAST \ ((cls), CAMEL_TYPE_TEXT_INDEX, CamelTextIndexClass)) #define CAMEL_IS_TEXT_INDEX(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE \ ((obj), CAMEL_TYPE_TEXT_INDEX)) #define CAMEL_IS_TEXT_INDEX_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ ((cls), CAMEL_TYPE_TEXT_INDEX)) #define CAMEL_TEXT_INDEX_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), CAMEL_TYPE_TEXT_INDEX, CamelTextIndexClass)) #define CAMEL_TYPE_TEXT_INDEX_NAME \ (camel_text_index_name_get_type ()) #define CAMEL_TEXT_INDEX_NAME(obj) \ (G_TYPE_CHECK_INSTANCE_CAST \ ((obj), CAMEL_TYPE_TEXT_INDEX_NAME, CamelTextIndexName)) #define CAMEL_TEXT_INDEX_NAME_CLASS(cls) \ (G_TYPE_CHECK_CLASS_CAST \ ((cls), CAMEL_TYPE_TEXT_INDEX_NAME, CamelTextIndexNameClass)) #define CAMEL_IS_TEXT_INDEX_NAME(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE \ ((obj), CAMEL_TYPE_TEXT_INDEX_NAME)) #define CAMEL_IS_TEXT_INDEX_NAME_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ ((cls), CAMEL_TYPE_TEXT_INDEX_NAME)) #define CAMEL_TEXT_INDEX_NAME_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), CAMEL_TYPE_TEXT_INDEX_NAME, CamelTextIndexNameClass)) #define CAMEL_TYPE_TEXT_INDEX_CURSOR \ (camel_text_index_cursor_get_type ()) #define CAMEL_TEXT_INDEX_CURSOR(obj) \ (G_TYPE_CHECK_INSTANCE_CAST \ ((obj), CAMEL_TYPE_TEXT_INDEX_CURSOR, CamelTextIndexCursor)) #define CAMEL_TEXT_INDEX_CURSOR_CLASS(cls) \ (G_TYPE_CHECK_CLASS_CAST \ ((cls), CAMEL_TYPE_TEXT_INDEX_CURSOR, CamelTextIndexCursorClass)) #define CAMEL_IS_TEXT_INDEX_CURSOR(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE \ ((obj), CAMEL_TYPE_TEXT_INDEX_CURSOR)) #define CAMEL_IS_TEXT_INDEX_CURSOR_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ ((cls), CAMEL_TYPE_TEXT_INDEX_CURSOR)) #define CAMEL_TEXT_INDEX_CURSOR_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), CAMEL_TYPE_TEXT_INDEX_CURSOR, CamelTextIndexCursorClass)) #define CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR \ (camel_text_index_key_cursor_get_type ()) #define CAMEL_TEXT_INDEX_KEY_CURSOR(obj) \ (G_TYPE_CHECK_INSTANCE_CAST \ ((obj), CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR, CamelTextIndexKeyCursor)) #define CAMEL_TEXT_INDEX_KEY_CURSOR_CLASS(cls) \ (G_TYPE_CHECK_CLASS_CAST \ ((cls), CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR, CamelTextIndexKeyCursorClass)) #define CAMEL_IS_TEXT_INDEX_KEY_CURSOR(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE \ ((obj), CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR)) #define CAMEL_IS_TEXT_INDEX_KEY_CURSOR_CLASS(cls) \ (G_TYPE_CHECK_CLASS_TYPE \ ((cls), CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR)) #define CAMEL_TEXT_INDEX_KEY_CURSOR_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS \ ((obj), CAMEL_TYPE_TEXT_INDEX_KEY_CURSOR, CamelTextIndexKeyCursorClass)) G_BEGIN_DECLS typedef struct _CamelTextIndex CamelTextIndex; typedef struct _CamelTextIndexClass CamelTextIndexClass; typedef struct _CamelTextIndexPrivate CamelTextIndexPrivate; typedef struct _CamelTextIndexName CamelTextIndexName; typedef struct _CamelTextIndexNameClass CamelTextIndexNameClass; typedef struct _CamelTextIndexNamePrivate CamelTextIndexNamePrivate; typedef struct _CamelTextIndexCursor CamelTextIndexCursor; typedef struct _CamelTextIndexCursorClass CamelTextIndexCursorClass; typedef struct _CamelTextIndexCursorPrivate CamelTextIndexCursorPrivate; typedef struct _CamelTextIndexKeyCursor CamelTextIndexKeyCursor; typedef struct _CamelTextIndexKeyCursorClass CamelTextIndexKeyCursorClass; typedef struct _CamelTextIndexKeyCursorPrivate CamelTextIndexKeyCursorPrivate; typedef void (*CamelTextIndexFunc)(CamelTextIndex *idx, const gchar *word, gchar *buffer); /* ********************************************************************** */ struct _CamelTextIndexCursor { CamelIndexCursor parent; CamelTextIndexCursorPrivate *priv; }; struct _CamelTextIndexCursorClass { CamelIndexCursorClass parent_class; }; GType camel_text_index_cursor_get_type (void); /* ********************************************************************** */ struct _CamelTextIndexKeyCursor { CamelIndexCursor parent; CamelTextIndexKeyCursorPrivate *priv; }; struct _CamelTextIndexKeyCursorClass { CamelIndexCursorClass parent_class; }; GType camel_text_index_key_cursor_get_type (void); /* ********************************************************************** */ struct _CamelTextIndexName { CamelIndexName parent; CamelTextIndexNamePrivate *priv; }; struct _CamelTextIndexNameClass { CamelIndexNameClass parent_class; }; GType camel_text_index_name_get_type (void); /* ********************************************************************** */ struct _CamelTextIndex { CamelIndex parent; CamelTextIndexPrivate *priv; }; struct _CamelTextIndexClass { CamelIndexClass parent_class; }; GType camel_text_index_get_type (void); CamelTextIndex *camel_text_index_new (const gchar *path, gint flags); /* static utility functions */ gint camel_text_index_check (const gchar *path); gint camel_text_index_rename (const gchar *old, const gchar *new_); gint camel_text_index_remove (const gchar *old); void camel_text_index_dump (CamelTextIndex *idx); void camel_text_index_info (CamelTextIndex *idx); void camel_text_index_validate (CamelTextIndex *idx); G_END_DECLS #endif /* CAMEL_TEXT_INDEX_H */