diff options
Diffstat (limited to 'logview/src/logview-manager.h')
-rw-r--r-- | logview/src/logview-manager.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/logview/src/logview-manager.h b/logview/src/logview-manager.h new file mode 100644 index 00000000..b9444323 --- /dev/null +++ b/logview/src/logview-manager.h @@ -0,0 +1,90 @@ +/* logview-manager.h - manager for the opened log objects + * + * Copyright (C) 2008 Cosimo Cecchi <[email protected]> + * + * 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., 551 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + */ + +/* logview-manager.h */ + +#ifndef __LOGVIEW_MANAGER_H__ +#define __LOGVIEW_MANAGER_H__ + +#include <glib-object.h> + +#include "logview-log.h" + +G_BEGIN_DECLS + +#define LOGVIEW_TYPE_MANAGER logview_manager_get_type() +#define LOGVIEW_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOGVIEW_TYPE_MANAGER, LogviewManager)) +#define LOGVIEW_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), LOGVIEW_TYPE_MANAGER, LogviewManagerClass)) +#define LOGVIEW_IS_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOGVIEW_TYPE_MANAGER)) +#define LOGVIEW_IS_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), LOGVIEW_TYPE_MANAGER)) +#define LOGVIEW_MANAGER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), LOGVIEW_TYPE_MANAGER, LogviewManagerClass)) + +typedef struct _LogviewManager LogviewManager; +typedef struct _LogviewManagerClass LogviewManagerClass; +typedef struct _LogviewManagerPrivate LogviewManagerPrivate; + +struct _LogviewManager { + GObject parent; + LogviewManagerPrivate *priv; +}; + +struct _LogviewManagerClass { + GObjectClass parent_class; + + void (* log_added) (LogviewManager *manager, + LogviewLog *log); + void (* log_closed) (LogviewManager *manager, + LogviewLog *log); + void (* active_changed) (LogviewManager *manager, + LogviewLog *log, + LogviewLog *old_log); +}; + +GType logview_manager_get_type (void); + +/* public methods */ +LogviewManager* logview_manager_get (void); +void logview_manager_add_logs_from_name_list (LogviewManager *manager, + GSList *names, + const char *active); +void logview_manager_add_log_from_gfile (LogviewManager *manager, + GFile *file, + gboolean set_active); +void logview_manager_add_logs_from_names (LogviewManager *manager, + char ** names, + const gchar *active); +void logview_manager_set_active_log (LogviewManager *manager, + LogviewLog *log); +LogviewLog * logview_manager_get_active_log (LogviewManager *manager); +int logview_manager_get_log_count (LogviewManager *manager); +LogviewLog * logview_manager_get_if_loaded (LogviewManager *manager, + char *filename); +gboolean logview_manager_log_is_active (LogviewManager *manager, + LogviewLog *log); +void logview_manager_close_active_log (LogviewManager *manager); + +G_END_DECLS + +#endif /* __LOGVIEW_MANAGER_H__ */ |