2 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3 * Copyright (C) 2003-2012 Match Grun and the Claws Mail team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 * Functions necessary to define an LDAP query.
24 #ifndef __LDAPQUERY_H__
25 #define __LDAPQUERY_H__
41 #include "addrquery.h"
44 #include "addrcache.h"
45 #include "ldapserver.h"
47 typedef struct _LdapQuery LdapQuery
;
51 LdapServer
*server
; /* Reference to (parent) LDAP server */
61 pthread_mutex_t
*mutexStop
;
62 pthread_mutex_t
*mutexBusy
;
63 pthread_mutex_t
*mutexEntry
;
64 void (*callBackEntry
)( void *, gint
, void *, void * );
65 void (*callBackEnd
)( void *, gint
, gint
, void * );
70 typedef struct _NameValuePair NameValuePair
;
71 struct _NameValuePair
{
76 /* Function prototypes */
77 void ldapqry_print(LdapQuery
*qry
, FILE *stream
);
78 void ldapqry_initialize ( void );
79 LdapQuery
*ldapqry_create ( void );
80 void ldapqry_set_control ( LdapQuery
*qry
, LdapControl
*ctl
);
81 void ldapqry_set_name ( LdapQuery
* qry
, const gchar
*value
);
82 void ldapqry_set_search_value ( LdapQuery
*qry
, const gchar
*value
);
83 void ldapqry_set_search_type ( LdapQuery
*qry
, const AddrSearchType value
);
84 void ldapqry_set_query_id ( LdapQuery
* qry
, const gint value
);
85 void ldapqry_set_callback_start ( LdapQuery
*qry
, void *func
);
86 void ldapqry_set_callback_entry ( LdapQuery
*qry
, void *func
);
87 void ldapqry_set_callback_end ( LdapQuery
*qry
, void *func
);
88 void ldapqry_free ( LdapQuery
*qry
);
89 void ldapqry_set_stop_flag( LdapQuery
*qry
, const gboolean value
);
90 gboolean
ldapqry_check_search ( LdapQuery
*qry
);
91 void ldapqry_touch ( LdapQuery
*qry
);
92 gint
ldapqry_read_data_th ( LdapQuery
*qry
);
93 void ldapqry_cancel ( LdapQuery
*qry
);
94 void ldapqry_age ( LdapQuery
*qry
, gint maxAge
);
95 void ldapqry_delete_folder ( LdapQuery
*qry
);
96 gboolean
ldapquery_remove_results( LdapQuery
*qry
);
97 void ldapqry_free_list_name_value( GList
*list
);
98 void ldapqry_free_name_value( NameValuePair
*nvp
);
101 #endif /* __LDAPQUERY_H__ */