aboutsummaryrefslogblamecommitdiffstats
path: root/camel/camel-data-wrapper.h
blob: d8c7fbe50b242abcf7e7ee31781986cbe3fcbee3 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                                           
                                                              
 
  
  
           
                                               
  
                                                     
  
                                                                
                                                                   
                                                        














                                                                      



                         
                 
                               
                                                                    

                                                                                                                  
 
                        
 
                                  
                                              
                                    
                            
        
                               
  
 
                
                                      
                             
                                                                                      
                                                                                
                                                                                       
                                                                                       
                                                                                      
                                                                                          
 
                                                                                      
                                                                            
 
                                                                                      
                                                                      

                                                                                       
                        
                                             
 
                    
                                                 
                                                                                                
                                                                                      
                                                                                                
                                                                                                 
                                                                                                 
                                                                                                
                                                                                              
 
                                                                                                                      
 
                                                                                                 



                                 
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* camel-data-wrapper.h : Abstract class for a data wrapper */

/*
 *
 * Author :
 *  Bertrand Guiheneuf <bertrand@helixcode.com>
 *
 * Copyright 1999, 2000 Ximian, Inc. (www.ximian.com)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of version 2 of the GNU General Public
 * License as published by the Free Software Foundation.
 *
 * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 * USA
 */


#ifndef CAMEL_DATA_WRAPPER_H
#define CAMEL_DATA_WRAPPER_H 1

#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus }*/

#include <glib.h>
#include <camel/camel-object.h>

#define CAMEL_DATA_WRAPPER_TYPE     (camel_data_wrapper_get_type ())
#define CAMEL_DATA_WRAPPER(obj)     (CAMEL_CHECK_CAST((obj), CAMEL_DATA_WRAPPER_TYPE, CamelDataWrapper))
#define CAMEL_DATA_WRAPPER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_DATA_WRAPPER_TYPE, CamelDataWrapperClass))
#define CAMEL_IS_DATA_WRAPPER(o)    (CAMEL_CHECK_TYPE((o), CAMEL_DATA_WRAPPER_TYPE))

struct _CamelDataWrapper
{
    CamelObject parent_object;
    struct _CamelDataWrapperPrivate *priv;
    
    CamelContentType *mime_type;
    CamelStream *stream;
    
    unsigned int offline:1;
    unsigned int rawtext:1;
};

typedef struct {
    CamelObjectClass parent_class;

    /* Virtual methods */
    void                (*set_mime_type)          (CamelDataWrapper *data_wrapper,
                               const gchar * mime_type);
    gchar *             (*get_mime_type)          (CamelDataWrapper *data_wrapper);
    CamelContentType *  (*get_mime_type_field)    (CamelDataWrapper *data_wrapper);
    void                (*set_mime_type_field)    (CamelDataWrapper *data_wrapper,
                               CamelContentType *mime_type_field);

    int                 (*write_to_stream)        (CamelDataWrapper *data_wrapper,
                               CamelStream *stream);

    int                 (*construct_from_stream)  (CamelDataWrapper *data_wrapper,
                               CamelStream *);

    gboolean            (*is_offline)             (CamelDataWrapper *data_wrapper);

} CamelDataWrapperClass;

/* Standard Camel function */
CamelType camel_data_wrapper_get_type (void);

/* public methods */
CamelDataWrapper *  camel_data_wrapper_new(void);
int                 camel_data_wrapper_write_to_stream          (CamelDataWrapper *data_wrapper,
                                 CamelStream *stream);
void                camel_data_wrapper_set_mime_type            (CamelDataWrapper *data_wrapper,
                                 const gchar *mime_type);
gchar *             camel_data_wrapper_get_mime_type            (CamelDataWrapper *data_wrapper);
CamelContentType *  camel_data_wrapper_get_mime_type_field      (CamelDataWrapper *data_wrapper);
void                camel_data_wrapper_set_mime_type_field      (CamelDataWrapper *data_wrapper,
                                 CamelContentType *mime_type);

int                 camel_data_wrapper_construct_from_stream    (CamelDataWrapper *data_wrapper, CamelStream *stream);

gboolean            camel_data_wrapper_is_offline               (CamelDataWrapper *data_wrapper);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* CAMEL_DATA_WRAPPER_H */
sks like the Pilot task list.Federico Mena Quintero2001-06-243-14/+109 * Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-2378-102/+102 * Added itip-control-factory.* to the build.Jeffrey Stedfast2001-06-231-0/+2 * update to new callJP Rosevear2001-06-228-769/+1442 * add include pathJP Rosevear2001-06-221-0/+2 * remove buttons and use evolution's standard ui configJP Rosevear2001-06-221-21/+15 * print description textJP Rosevear2001-06-221-41/+25 * create a WombatClient when creating a CalClient object, so that we canRodrigo Moya2001-06-222-0/+2 * Changed attachData to accept a sequence of chars rather than a string.Dave Camp2001-06-211-2/+6 * print menu command (print_preview_cmd): ditto for print previewJP Rosevear2001-06-217-6/+502 * added getFreeBusy methodRodrigo Moya2001-06-202-0/+219 * moved the function to check for a default timezone to calendar-config.c,Damon Chaplin2001-06-207-66/+87 * added code to show the timezone dialog if the user hasn't set a defaultDamon Chaplin2001-06-205-2/+68 * if the timezones of the start and end of the event are the same, then ifDamon Chaplin2001-06-201-0/+56 * added a 'Time zone' setting. Also rearranged a little, adding a newDamon Chaplin2001-06-2013-346/+327 * add ui (forward_cmd): implement forward commandJP Rosevear2001-06-202-10/+30 * add auto exit unrefJP Rosevear2001-06-203-24/+33 * don't compile or install the old meeting edit stuffJP Rosevear2001-06-206-1590/+1 * add some needed commas (itip_send_comp): if publishing, don't set the toJP Rosevear2001-06-201-8/+27 * remove typoJP Rosevear2001-06-201-1/+1 * ShushJP Rosevear2001-06-201-0/+4 * itip/imip send dialogJP Rosevear2001-06-2017-651/+1862 * Sync - FedericoFederico Mena Quintero2001-06-2012-275/+1207 * added timezone fields. Also moved the 'All Day' flag into an alignment soDamon Chaplin2001-06-1912-45/+418 * generate a new UID when pastingRodrigo Moya2001-06-152-0/+10 * Small typoRodrigo Moya2001-06-151-2/+2 * Small typoRodrigo Moya2001-06-151-2/+2 * finished implementation of Paste stuffRodrigo Moya2001-06-152-9/+74 * added popup menu items for cut/copy/pasteRodrigo Moya2001-06-142-9/+125 * new widget to enter a timezone.Damon Chaplin2001-06-143-2/+360 * new dialog for setting the time zone.Damon Chaplin2001-06-144-0/+865 * remove unnecessary spaceJP Rosevear2001-06-142-1/+3 * set the completed time in the date editor if appropriateJP Rosevear2001-06-142-5/+17 * added cut&paste support, by using a GtkInvisible widget to manage theRodrigo Moya2001-06-134-1/+204 * Committing the new My Evolution.Iain Holmes2001-06-093-21/+6 * Sync from laptop.JP Rosevear2001-06-073-0/+735 * update the blocked/selected days if the starting day of the appointmentJP Rosevear2001-06-052-1/+15 * Fix linking order for `$(DB3_LDADD)'s so that we avoid pullingEttore Perazzoli2001-06-033-5/+5 * no longer build widget-util.*, the code has been movedJP Rosevear2001-06-021-3/+1 * use new funcJP Rosevear2001-06-028-97/+33 * ShushJP Rosevear2001-06-021-1/+0 * UpdateJP Rosevear2001-06-023-468/+0 * oops, didn't mean to make that changeJP Rosevear2001-06-021-1/+2 * renamed from editor-page for consistency, more complete implementationJP Rosevear2001-06-0235-7753/+3532 * dittoJP Rosevear2001-06-022-1/+6 * Add a bunch of missing `$(DB3_LDADD)'s.Ettore Perazzoli2001-06-021-1/+2 * For JPR - FedericoFederico Mena Quintero2001-05-312-0/+256 * New function.Federico Mena Quintero2001-05-304-36/+75 * new files to contain layout code split off from EDayView an EWeekView, soDamon Chaplin2001-05-2913-1137/+2452 * implemented the 'remove_folder' function for the calendar shell componentRodrigo Moya2001-05-282-4/+348 * #include "evolution-shell-component-utils.h" rather than "e-gui-utils.h"Dan Winship2001-05-282-2/+2 * Reference libeshell.la instead of libeshell.a.Peter Williams2001-05-261-1/+1 * Finished porting from the old event-editor.c. Made it store a clone of theFederico Mena Quintero2001-05-247-29/+1213 * Fix bug #2831; the tasks toolbar and menu now have a button to delete theFederico Mena Quintero2001-05-225-59/+195 * Fix bug #2829.Federico Mena Quintero2001-05-195-141/+275 * *** empty log message ***Duncan Mak2001-05-171-2/+0 * Split the event and task editors into different objects for the separateFederico Mena Quintero2001-05-1718-554/+5101 * switch on the correct widget and mapJP Rosevear2001-05-101-1/+1 * free the alarm component if it doesn't have a parent, rather than if itJP Rosevear2001-05-091-4/+5 * unref the property bag when we finish with itJP Rosevear2001-05-094-2/+6 * use define from widgets/misc/e-filter-bar.h instead of own enumeration andGediminas Paulauskas2001-05-083-60/+48 * unref the calcomponent when we're done with itJP Rosevear2001-05-041-0/+2 * remove hardcoded values (edit_attendee): ditto, and there are only 4 rolesJP Rosevear2001-04-283-27/+28 * use enums not hard code valuesJP Rosevear2001-04-272-2/+1 * icalparameter_new_rsvp now takes an enumJP Rosevear2001-04-271-1/+1 * Replace "<" by "<=" in the comparison for due dates against the currentFederico Mena Quintero2001-04-272-3/+5 * Merge build fix from the branch:Ettore Perazzoli2001-04-271-0/+1 * Fixed Strftime so it uses the locale prefered way to display date/time.Duncan Mak2001-04-251-1/+1 * translate "Things to do" etc. and convert them to utf8. Changed some linkGediminas Paulauskas2001-04-221-13/+19 * Hot builddir != srcdir loving action.Ettore Perazzoli2001-04-192-0/+4 * Connect to the "changed" signal of the categories entry so that they willFederico Mena Quintero2001-04-182-7/+31 * Pull up fix from the branch:Ettore Perazzoli2001-04-181-0/+2 * Create the ESearchBar thingy. (search_bar_query_changed_cb): Build theFederico Mena Quintero2001-04-163-11/+188 * Do this everywhere, also fixup CLEANFILESMichael Meeks2001-04-141-0/+3 * New function to restart a query for the day view. (query_obj_updated_cb):Federico Mena Quintero2001-04-135-265/+340 * Fix this to just send the data to the wombat instead of inserting itChristopher James Lahey2001-04-111-44/+20 * Display fixes, thanks to Kjartan for finding these.Gediminas Paulauskas2001-04-112-21/+16 * Here goes my additional simple include fixes.Gediminas Paulauskas2001-04-057-48/+46 * Fix headers. Same here. Same here. Same here. Same here. Same here. SameKjartan Maraas2001-04-0514-0/+61 * Plug leak.Federico Mena Quintero2001-04-033-2/+21 * Plug leak.Federico Mena Quintero2001-04-031-1/+1 * Blessed by Ettore.Gediminas Paulauskas2001-04-022-39/+35 * A mockup of how meeting scheduling and editting should work. This design is b...Anna Dirks2001-03-291-0/+488 * fixed button placement to comply with gnome standards.Anna Marie Dirks2001-03-281-6/+6 * fixed spacing and label alignment to comply with gnome standards. AlsoAnna Marie Dirks2001-03-281-129/+97 * Replace includes of <gnome.h>, <bonobo.h> and <gtk/gtk.h> with the neededKjartan Maraas2001-03-2620-27/+51 * The model_rows_{inserted,deleted} signals changed names; deal with it.Federico Mena Quintero2001-03-257-58/+50 * Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu.Miguel de Icaza2001-03-185-95/+85 * Moved functionality here from e_day_view_on_new_appointment. AllowsMiguel de Icaza2001-03-174-17/+119 * New function: inits the BonoboPersistFile server.Miguel de Icaza2001-03-172-1/+35 * Update arguments to e_canvas_item_grab_focus.Dan Winship2001-03-162-2/+2 * Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-1512-309/+11 * Added a ShellComponent method to retrieve the selection for drag andEttore Perazzoli2001-03-083-9/+11 * keep list of all Tasks folders so we can update the preference settingsDamon Chaplin2001-03-0516-384/+661 * When when when when when when oh WHEN will I remember to add the files - Fede...Federico Mena Quintero2001-03-021-0/+180 * New function to set the EDateEdit's value when a row is selected in theFederico Mena Quintero2001-03-013-13/+61 * Create a little stand-alone library for the low-level alarm triggerFederico Mena Quintero2001-02-276-413/+13 * Switched to using our own refcounted structure for loaded clients.Federico Mena Quintero2001-02-2412-230/+157 * IMAP subscriptions stuff.Aaron Weber2001-02-231-0/+1 * Added a `registered' field. (cal_factory_oaf_register): New function; nowFederico Mena Quintero2001-02-212-2/+59 * Ignore generated .oaf filesDan Winship2001-02-151-1/+4 * Added libmenus.la.Christopher James Lahey2001-02-146-9/+69 * call task_editor_focusJP Rosevear2001-02-141-1/+2 * Set toolbar new appointment icon (set_pixmap): load files rather thanJP Rosevear2001-02-146-222/+35 * override value to string virtual method (calendar_model_value_to_string):JP Rosevear2001-02-142-6/+46 * Hook up the xml-i18n-tools + .oaf.in stuff. Marked strings forKjartan Maraas2001-02-134-13/+20 * Getting almost full and proper use of xml-i18n-tools.Gediminas Paulauskas2001-02-1118-270/+1 * Oops, remove old widgetJP Rosevear2001-02-093-80/+4 * fill in new classification stuff properly (get_widgets): load new class.JP Rosevear2001-02-097-1602/+1688 * More 0.9 stuffJP Rosevear2001-02-091-0/+28 * Pull up from 0.9 branchJP Rosevear2001-02-099-1372/+1161 * Fix the title and icon bug, and sort the UIDs into order beforeIain Holmes2001-02-081-1/+137 * Pulling stuff up from the branchJP Rosevear2001-02-078-36/+52 * Match new append_alarm signature (reminder_to_comp_object): only addJP Rosevear2001-02-071-22/+38 * get the new reminder widgets (sync_entries): different callback dataJP Rosevear2001-02-068-675/+737 * Fixed up these #includes.Christopher James Lahey2001-02-061-1/+3 * gnome_dialog_grab_focus() on the Yes button. Fixes bug #1242.Federico Mena Quintero2001-02-041-3/+5 * Mark a string for translation. Mark a bunch of strings for translation.Kjartan Maraas2001-01-302-20/+21 * Add a #include <sys/time.h> to work around libgnomeprint.h's lack ofEttore Perazzoli2001-01-301-0/+1 * <gnome.h> trimming to reduce compilation time. Likewise. Likewise.Federico Mena Quintero2001-01-3021-24/+14 * <gnome.h> trimming to reduce compilation time. Ditto. Ditto. Ditto. Ditto.Federico Mena Quintero2001-01-297-8/+21 * Fixed a crash that could happen when destroying a control without anyEttore Perazzoli2001-01-271-2/+3 * don't tag the calendar if no dates are shown.Damon Chaplin2001-01-251-6/+14 * make sure the status is set to "Completed". Fixes bug #1253.Damon Chaplin2001-01-242-10/+20 * libical import cleanupJP Rosevear2001-01-246-35/+35 * compile new stuffJP Rosevear2001-01-235-22/+91 * Fix bug #1250; now we present a confirmation dialog before deleting theFederico Mena Quintero2001-01-221-7/+11 * Fix bug #1243. Turn on the Y expand/fill options for the date widgets inFederico Mena Quintero2001-01-212-29/+28 * Unset the GTK_CAN_FOCUS flag on the weekday picker. This will do until itFederico Mena Quintero2001-01-201-0/+2 * New files with a simple sequence to migrate the task components from theFederico Mena Quintero2001-01-1912-1424/+369 * gui/e-week-view*.c don't use the theme colors at all within the graphicalDamon Chaplin2001-01-18