2005-05-27 Not Zed <NotZed@Ximian.com> * em-message-stream.[ch]: A camel-stream to wrap Evolution_Mail_MessageStream. * evolution-mail-messagestream.[ch]: simplified read-only stream interface rather than using bonobo-stream. It wraps a camel-stream only & simplified lifecycle management. * evolution-mail-store.c (evolution_mail_store_changed): if we have no more listeners, close the camelstore object off. * Evolution-DataServer-Mail.idl: changed exceptions to use one exception type with details. Fixed code to use these. svn path=/trunk/; revision=29418
69 lines
2.6 KiB
C
69 lines
2.6 KiB
C
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
|
/*
|
|
* Copyright (C) 2005 Novell, Inc.
|
|
*
|
|
* 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.
|
|
*
|
|
* Author: Michael Zucchi <notzed@novell.com>
|
|
*/
|
|
|
|
#ifndef _EVOLUTION_MAIL_STORE_H_
|
|
#define _EVOLUTION_MAIL_STORE_H_
|
|
|
|
#include <bonobo/bonobo-object.h>
|
|
#include "Evolution-DataServer-Mail.h"
|
|
|
|
#define EVOLUTION_MAIL_TYPE_STORE (evolution_mail_store_get_type ())
|
|
#define EVOLUTION_MAIL_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVOLUTION_MAIL_TYPE_STORE, EvolutionMailStore))
|
|
#define EVOLUTION_MAIL_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVOLUTION_MAIL_TYPE_STORE, EvolutionMailStoreClass))
|
|
#define EVOLUTION_MAIL_IS_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVOLUTION_MAIL_TYPE_STORE))
|
|
#define EVOLUTION_MAIL_IS_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EVOLUTION_MAIL_TYPE_STORE))
|
|
|
|
struct _EAccount;
|
|
struct _EvolutionMailSession;
|
|
|
|
typedef struct _EvolutionMailStore EvolutionMailStore;
|
|
typedef struct _EvolutionMailStoreClass EvolutionMailStoreClass;
|
|
|
|
struct _EvolutionMailStore {
|
|
BonoboObject parent;
|
|
|
|
struct _EvolutionMailSession *session;
|
|
|
|
struct _EAccount *account;
|
|
};
|
|
|
|
struct _EvolutionMailStoreClass {
|
|
BonoboObjectClass parent_class;
|
|
|
|
POA_Evolution_Mail_Store__epv epv;
|
|
};
|
|
|
|
GType evolution_mail_store_get_type(void);
|
|
|
|
EvolutionMailStore *evolution_mail_store_new(struct _EvolutionMailSession *s, struct _EAccount *ea);
|
|
|
|
void evolution_mail_store_addlistener(EvolutionMailStore *store, Evolution_Mail_StoreListener listener);
|
|
void evolution_mail_store_changed(EvolutionMailStore *ems, Evolution_Mail_StoreChanges *changes);
|
|
|
|
const char *evolution_mail_store_get_name(EvolutionMailStore *);
|
|
const char *evolution_mail_store_get_uid(EvolutionMailStore *);
|
|
|
|
/* unref when done */
|
|
struct _CamelStore *evolution_mail_store_get_store(EvolutionMailStore *ems, CORBA_Environment *ev);
|
|
int evolution_mail_store_close_store(EvolutionMailStore *ems);
|
|
|
|
#endif /* _EVOLUTION_MAIL_STORE_H_ */
|