Files
federated-calendar/src/gcal-manager.h
T
Erick Pérez Castellanos 9752b719f0 manager: initial work on new design
GcalManager new design includes:
1. remove deprecated methods from eds
2. remove event cache
3. remove the need for keeping date range logic
4. reorder code according to HACKING code style document

This changes will cause some other changes among the application. While
this commit build just fine, work is missing yet. Next I will fix
GcalEventWigdet and the rest of the affected components.
2014-12-04 17:10:38 -05:00

165 lines
8.5 KiB
C

/* -*- mode: c; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* gcal-manager.h
* Copyright (C) 2012 Erick Pérez Castellanos <erickpc@gnome.org>
*
* gnome-calendar 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 3 of the License, or
* (at your option) any later version.
*
* gnome-calendar 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GCAL_MANAGER_H__
#define __GCAL_MANAGER_H__
#include <gtk/gtk.h>
#include <glib-object.h>
#include <libical/icaltime.h>
G_BEGIN_DECLS
#define GCAL_TYPE_MANAGER (gcal_manager_get_type ())
#define GCAL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GCAL_TYPE_MANAGER, GcalManager))
#define GCAL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GCAL_TYPE_MANAGER, GcalManagerClass))
#define GCAL_IS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GCAL_TYPE_MANAGER))
#define GCAL_IS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GCAL_TYPE_MANAGER))
#define GCAL_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GCAL_TYPE_MANAGER, GcalManagerClass))
typedef struct _GcalManager GcalManager;
typedef struct _GcalManagerClass GcalManagerClass;
struct _GcalManager
{
GObject parent;
};
struct _GcalManagerClass
{
GObjectClass parent_class;
/* signals */
void (* events_added) (GcalManager *manager, const GList *events);
void (* events_modified) (GcalManager *manager, const GList *events);
void (* events_removed) (GcalManager *manager, const GList *uids);
void (* event_created) (GcalManager *manager, const gchar *source_uid, const gchar event_uid);
};
GType gcal_manager_get_type (void);
GcalManager* gcal_manager_new (void);
GtkListStore* gcal_manager_get_sources_model (GcalManager *manager);
icaltimezone* gcal_manager_get_system_timezone (GcalManager *manager);
gchar* gcal_manager_add_source (GcalManager *manager,
const gchar *name,
const gchar *backend,
const gchar *color);
gchar* gcal_manager_get_default_source (GcalManager *manager);
gboolean gcal_manager_get_source_readonly (GcalManager *manager,
const gchar *source_uid);
void gcal_manager_set_new_range (GcalManager *manager,
const icaltimetype *initial_date,
const icaltimetype *final_date);
/* Get methods */
icaltimetype* gcal_manager_get_event_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
icaltimetype* gcal_manager_get_event_end_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gchar* gcal_manager_get_event_summary (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gchar** gcal_manager_get_event_organizer (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
const gchar* gcal_manager_get_event_location (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gchar* gcal_manager_get_event_description (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
GdkRGBA* gcal_manager_get_event_color (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
GList* gcal_manager_get_event_reminders (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gboolean gcal_manager_has_event_reminders (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
gboolean gcal_manager_get_event_all_day (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
void gcal_manager_remove_event (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid);
/* Create method */
void gcal_manager_create_event (GcalManager *manager,
const gchar *source_uid,
const gchar *summary,
const icaltimetype *initial_date,
const icaltimetype *final_date);
/* Set methods */
void gcal_manager_set_event_start_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const icaltimetype *initial_date);
void gcal_manager_set_event_end_date (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const icaltimetype *initial_date);
void gcal_manager_set_event_summary (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const gchar *summary);
void gcal_manager_set_event_location (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const gchar *location);
void gcal_manager_set_event_description (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const gchar *description);
void gcal_manager_move_event_to_source (GcalManager *manager,
const gchar *source_uid,
const gchar *event_uid,
const gchar *new_source_uid);
G_END_DECLS
#endif /* __GCAL_MANAGER_H__ */