/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* camel-store.h : Abstract class for an email store */ /* * * Author : * Bertrand Guiheneuf * * Copyright 1999, 2000 Helix Code, Inc. (http://www.helixcode.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #ifndef CAMEL_STORE_H #define CAMEL_STORE_H 1 #ifdef __cplusplus extern "C" { #pragma } #endif /* __cplusplus }*/ #include #include typedef struct _CamelFolderInfo { struct _CamelFolderInfo *parent, *sibling, *child; char *url, *full_name, *name; int message_count, unread_message_count; } CamelFolderInfo; #define CAMEL_STORE_TYPE (camel_store_get_type ()) #define CAMEL_STORE(obj) (CAMEL_CHECK_CAST((obj), CAMEL_STORE_TYPE, CamelStore)) #define CAMEL_STORE_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_STORE_TYPE, CamelStoreClass)) #define CAMEL_IS_STORE(o) (CAMEL_CHECK_TYPE((o), CAMEL_STORE_TYPE)) /* Flags for store flags */ #define CAMEL_STORE_SUBSCRIPTIONS (1 << 0) struct _CamelStore { CamelService parent_object; GHashTable *folders; int flags; }; /* open mode for folder */ #define CAMEL_STORE_FOLDER_CREATE (1<<0) #define CAMEL_STORE_FOLDER_BODY_INDEX (1<<1) typedef struct { CamelServiceClass parent_class; CamelFolder * (*get_folder) (CamelStore *store, const char *folder_name, guint32 flags, CamelException *ex); void (*delete_folder) (CamelStore *store, const char *folder_name, CamelException *ex); void (*rename_folder) (CamelStore *store, const char *old_name, const char *new_name, CamelException *ex); char * (*get_folder_name) (CamelStore *store, const char *folder_name, CamelException *ex); char * (*get_root_folder_name) (CamelStore *store, CamelException *ex); char * (*get_default_folder_name) (CamelStore *store, CamelException *ex); CamelFolder * (*lookup_folder) (CamelStore *store, const char *folder_name); void (*cache_folder) (CamelStore *store, const char *folder_name, CamelFolder *folder); void (*uncache_folder) (CamelStore *store, CamelFolder *folder); CamelFolderInfo *(*get_folder_info) (CamelStore *store, const char *top, gboolean fast, gboolean recursive, gboolean subscribed_only, CamelException *ex); void (*free_folder_info) (CamelStore *store, CamelFolderInfo *fi); gboolean (*folder_subscribed) (CamelStore *store, const char *folder_name); void (*subscribe_folder) (CamelStore *store, const char *folder_name, CamelException *ex); void (*unsubscribe_folder) (CamelStore *store, const char *folder_name, CamelException *ex); } CamelStoreClass; /* Standard Camel function */ CamelType camel_store_get_type (void); /* public methods */ CamelFolder * camel_store_get_folder (CamelStore *store, const char *folder_name, guint32 flags, CamelException *ex); CamelFolder * camel_store_get_root_folder (CamelStore *store, CamelException *ex); CamelFolder * camel_store_get_default_folder (CamelStore *store, CamelException *ex); void camel_store_delete_folder (CamelStore *store, const char *folder_name, CamelException *ex); void camel_store_rename_folder (CamelStore *store, const char *old_name, const char *new_name, CamelException *ex); CamelFolderInfo *camel_store_get_folder_info (CamelStore *store, const char *top, gboolean fast, gboolean recursive, gboolean subscribed_only, CamelException *ex); void camel_store_free_folder_info (CamelStore *store, CamelFolderInfo *fi); void camel_store_free_folder_info_full (CamelStore *store, CamelFolderInfo *fi); void camel_store_free_folder_info_nop (CamelStore *store, CamelFolderInfo *fi); void camel_folder_info_free (CamelFolderInfo *fi); void camel_folder_info_build (GPtrArray *folders, CamelFolderInfo *top, char separator, gboolean short_names); gboolean camel_store_supports_subscriptions (CamelStore *store); gboolean camel_store_folder_subscribed (CamelStore *store, const char *folder_name); void camel_store_subscribe_folder (CamelStore *store, const char *folder_name, CamelException *ex); void camel_store_unsubscribe_folder (CamelStore *store, const char *folder_name, CamelException *ex); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CAMEL_STORE_H */ href='/~lantw44/cgit/gsoc2013-evolution/commit/?h=GNOME_VFS_2_1_4&id=52bbd2e62145bfb01a2703f884d58182b3ed2693'>Fixed Grammar, edited a few answers, did the vfolder thing.Aaron Weber2001-05-172-44/+60 * Deal with full-header mode in addition to source modeDan Winship2001-05-173-36/+100 * New function to return an array of all headers.Dan Winship2001-05-174-2/+108 * UpdateKenneth Christiansen2001-05-171-1863/+2463 * Remove camel/camel-pkcs7-context.cJP Rosevear2001-05-172-1/+4 * forgot to mention color change for calendarJakub Steiner2001-05-171-0/+1 * fixes #2862Jakub Steiner2001-05-176-0/+7 * Modify ChangeLog to say that the icons are by Tuomas.Ettore Perazzoli2001-05-161-2/+2 * New icons for offline/online status.Ettore Perazzoli2001-05-164-0/+9 * Updated Norwegian translation.Kjartan Maraas2001-05-162-429/+604 * Fixes to make it make dist and make distcheck. Kind of kludgy but theyJP Rosevear2001-05-162-16/+20 * initialize the model and adapter. (button_press): set on the model.Chris Toshok2001-05-163-5/+28 * e-minicard-view-model.c -> e-addressbook-reflow-adapter.cChris Toshok2001-05-162-1/+6 * Fixed up the lifetime of the drag_data_get signal a bit.Christopher James Lahey2001-05-162-23/+10 * MinicardViewModel -> ReflowAdapter name change. (get_card_list): same.Chris Toshok2001-05-1616-1131/+1372 * Make the "Submit Bug Report" menu item fire up a browser withEttore Perazzoli2001-05-162-1/+27 * Add an "Evolution FAQ" entry to the Help menu, and update the existingEttore Perazzoli2001-05-164-5/+19 * Get the User guide and the Evolution FAQ to be installed into separateEttore Perazzoli2001-05-164-12/+50 * Update the file name in the top comment.Ettore Perazzoli2001-05-161-1/+1 * Some demeeksifying indentation changes.Ettore Perazzoli2001-05-161-25/+16 * Evolution users worldwide, rejoice! We have a FAQ. (Yes, it stillEttore Perazzoli2001-05-164-12/+1524 * Don't close or free (it wasn't allocated) the certdb.Jeffrey Stedfast2001-05-162-13/+11 * here's some good lovin' from the oven...Jeffrey Stedfast2001-05-161-0/+2 * yea...Jeffrey Stedfast2001-05-162-0/+6 * I've said it before and I'll say it again... man am I a dumb schmuckJeffrey Stedfast2001-05-162-0/+1072 * yes, I am a dumbassJeffrey Stedfast2001-05-162-0/+1582 * oops, I guess this file does belong hereJeffrey Stedfast2001-05-162-0/+602 * Create CAMEL_CFLAGS and CAMEL_LIBS so that we don't have to link in allJeffrey Stedfast2001-05-162-0/+11 * updated .cvsignoreJeffrey Stedfast2001-05-164-0/+6 * Removed some evolution-*-decl.txt files since these are autogenerated byJeffrey Stedfast2001-05-1612-2/+58 * Don't use EXTRA_GNOME_*, use the new CAMEL_* variables so we don't link inJeffrey Stedfast2001-05-163-4/+7 * Load http images if the user has force-loaded images too.Dan Winship2001-05-1610-46/+113 * Create a "Message Display" submenu in View, move source/fullDan Winship2001-05-162-6/+28 * Added t the test suite - tests the S/MIME pkcs7 functions.Jeffrey Stedfast2001-05-163-2/+186 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-161-15/+14 * Update for changes in evolution-mail.xml (many commands were renamed toDan Winship2001-05-162-85/+73 * Clean this up A LOT. In addition to cosmetic changes, now every commandDan Winship2001-05-162-313/+324 * Updated Hungarian translation (andras)Szabolcs Ban2001-05-162-2109/+2566 * Put frame around dialog vbox, put mail subject in that frame's label.Jon Trowbridge2001-05-153-52/+74 * add the importers.Chris Toshok2001-05-152-0/+10 * Updated Slovak translationStano Visnovsky2001-05-152-1545/+2058 * Fix a small error not decreasing the data_count here.Christopher James Lahey2001-05-152-1/+7 * added file for ScrollkeeperKevin Breit2001-05-153-0/+32 * set the dialog's window_icon to jimmac's new find_message.xpm.Duncan Mak2001-05-152-1/+9 * Updated Norwegian translation.Kjartan Maraas2001-05-153-1145/+1557 * Lots of fixes to get this to compile.Jeffrey Stedfast2001-05-152-4/+2 * bah, just mod the pgp-context macro for camel_pgp_verify so that we don't hav...Jeffrey Stedfast2001-05-152-2/+2 * Lots of fixes to get this to almost compile. Still struggling with theJeffrey Stedfast2001-05-159-39/+95 * add in the new find_message.xpmDuncan Mak2001-05-152-0/+5 * Fix up the Importers. Remove spewage, and update for latest stylesIain Holmes2001-05-154-64/+166 * Fix the importer linklineIain Holmes2001-05-152-0/+6 * Remove this... it's not used any more.Dan Winship2001-05-156-308/+5 * Add camel-smime-context.[c,h] and camel-smime.[c,h] to the build.Jeffrey Stedfast2001-05-156-14/+568 * Replicate the semantics of the libunicode utf8 functions by returning NULLJon Trowbridge2001-05-157-10/+36 * Validate utf8 to avoid lock-ups. (_get_position): Validate utf8 to avoidJon Trowbridge2001-05-151-6/+8 * Subclass CamelSession since we can no longer specify the passwd callbackJeffrey Stedfast2001-05-1512-89/+727 * set the subfolder's parent to NULL so the subfolder list doesn't changejacob berkman2001-05-152-1/+10 * Remove Help->About.Jeffrey Stedfast2001-05-152-2/+4 * Redo forwarding stuff so there's "Forward", "ForwardAttached",Dan Winship2001-05-152-16/+25 * Split "Other" page into three pages, Display, Composer, and PGP. Add HTMLDan Winship2001-05-1514-138/+371 * Try to deal with bad utf8. (_get_position): Try to deal with bad utf8.Jon Trowbridge2001-05-151-6/+6 * Find (in?) messageJakub Steiner2001-05-142-0/+134 * Use secondary searches here, so that we control the interference betweenJon Trowbridge2001-05-145-73/+222 * add prototype for addressbook_expand_uri.Chris Toshok2001-05-146-20/+102 * Get rid of this - we don't need it.Jeffrey Stedfast2001-05-144-7/+8 * Updates the subject on refresh and sets subject to "Untitled Message" ifDuncan Mak2001-05-143-26/+63 * er, OptionSetJeffrey Stedfast2001-05-131-1/+1 * s/SSL_Enable/SSL_SetOptionJeffrey Stedfast2001-05-131-1/+1 * my computer crashed while commiting this first time.Gediminas Paulauskas2001-05-128-6/+41 * load pixmaps for MessageCopy and MessageForwardAttached. Thanks WayneGediminas Paulauskas2001-05-121-2/+2 * spew the data passed to us. (destination_folder_handle_motion): theChris Toshok2001-05-122-1/+11 * implement the CORBA side of dragging.Chris Toshok2001-05-122-6/+94 * correct bug causing the Ok button to never be enabled.Chris Toshok2001-05-122-2/+9 * add RemoveFolder menu item and verb. (folder_context_menu_remove_cb): newChris Toshok2001-05-124-8/+51 * add this define for the xml path to use when adding menu items to theChris Toshok2001-05-123-5/+26 * example.Chris Toshok2001-05-122-3/+7 * Ask for a folder to import into.Iain Holmes2001-05-127-20/+75 * use e_card_list_get_vcard to build up the data to send.Chris Toshok2001-05-129-52/+169 * callback to use GNOME-VFS to load http data. (on_url_requested): HandleDan Winship2001-05-126-157/+303 * Decode Content-Location, either correctly or Netscape-generated-brokenly.Dan Winship2001-05-125-0/+64 * Don't check the initial auth response until we get into the while-loopJeffrey Stedfast2001-05-122-9/+20 * If the name is set and the full_name or file_as haven't been yet, setChristopher James Lahey2001-05-122-0/+23 * Make a key press stop the tooltip timeout.Christopher James Lahey2001-05-122-1/+5 * add protoJP Rosevear2001-05-126-4/+39 * Set a title on the window "Reconfigure %s" where %s is the folder name.Jeffrey Stedfast2001-05-124-46/+88 * component_new refs the object itself, so unref ours when we finish with itJP Rosevear2001-05-123-6/+11 * sanitize LD_ADDS and CFLAGS so the libtool lines are shorter (fixesMartha Burke2001-05-122-3/+6 * Reordered the includes here. (string_to_dbt): The sleepycat libdbChristopher James Lahey2001-05-124-1/+20 * only check schema support if we've connected.Chris Toshok2001-05-122-4/+10 * Don't allow multiple copies of this to be run at a time.Jeffrey Stedfast2001-05-123-23/+87 * Remove a snippet of debugging code I left in by mistake.Jon Trowbridge2001-05-122-8/+5 * Make this return CamelStream * (like the other stream new functions)Dan Winship2001-05-123-5/+10 * If the cursor_uid is NULL, then we can't forward anything so just return.Jeffrey Stedfast2001-05-122-0/+12 * Lots of people seem to have "broken" local storage hierarchies. So ignoreDan Winship2001-05-122-2/+10 * don't leak the ECard or ECardSimple.Chris Toshok2001-05-113-18/+31 * the only problematic area - pass NULL for now in as the BonoboUIContainer.Chris Toshok2001-05-1110-34/+116 * I'm an idiot.Jon Trowbridge2001-05-111-1/+0 * Use the ESearchingTokenizer to highlight search matches for folder-levelJon Trowbridge2001-05-119-9/+1082 * No, we don't want to include bonobo-running-context.h... justJon Trowbridge2001-05-112-1/+6 * plug leak (icaltime_as_timet): use altered functionsJP Roseveaer2001-05-112-58/+64 * call SSL_Enable after the SSL_ImportFD and before PR_Connect. Otherwise,Chris Toshok2001-05-112-1/+8 * Fix some compiler warnings by including the correct bonobo headers and byJeffrey Stedfast2001-05-113-23/+51 * If we are creating a message with only a single part (ie no attachmentsJeffrey Stedfast2001-05-112-5/+22 * Don't abort if the Service is NULL, this is perfectly valid for cipherJeffrey Stedfast2001-05-112-1/+5 * Make the time section workIain Holmes2001-05-112-2/+12 * Don't let the spinner be set to 0Iain Holmes2001-05-112-1/+6 * Fix a crash when Update Now is clicked.Iain Holmes2001-05-112-1/+15 * Don't advance to the next undeleted message after "Delete"...Dan Winship2001-05-114-14/+37 * add the nspr includes to the list of includes used to test for NSSChris Toshok2001-05-102-4/+15 * Pass appropriate parameters to CF_CLASS and add comment explaining why myPeter Williams2001-05-102-1/+9 * Updated Swedish translation.Christian Rose2001-05-102-468/+562 * Use a better method of elm detectionIain Holmes2001-05-10