e78e8541f82f57b86218fe86fdef121007837112
[samba.git] / source4 / gtk / common / gtk-smb.h
1 /* 
2    Unix SMB/CIFS implementation.
3    SMB-related GTK+ functions
4    
5    Copyright (C) Jelmer Vernooij 2004
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11    
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16    
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 #ifndef __GTK_SMB_H__
23 #define __GTK_SMB_H__
24
25 #ifdef HAVE_GTK
26
27 #include <gtk/gtk.h>
28
29 typedef struct _GtkRpcBindingDialog GtkRpcBindingDialog;
30
31 struct _GtkRpcBindingDialog 
32 {
33         GtkDialog dialog;
34         GtkWidget *chk_sign;
35         GtkWidget *chk_seal;
36         GtkWidget *transport_tcp_ip;
37         GtkWidget *transport_ncalrpc;
38         GtkWidget *transport_smb;
39         GtkWidget *frame_host;
40         GtkWidget *entry_host;
41         GtkWidget *entry_username;
42         GtkWidget *entry_userdomain;
43         GtkWidget *entry_password;
44         GtkWidget *krb5_chk_button;
45         GtkWidget *frame_credentials;
46         TALLOC_CTX *mem_ctx;
47         struct sam_pipe *sam_pipe;
48 };
49
50 typedef struct _GtkRpcBindingDialogClass GtkRpcBindingDialogClass;
51
52 struct _GtkRpcBindingDialogClass
53 {
54         GtkDialogClass parent_class;
55 };
56
57 #define GTK_RPC_BINDING_DIALOG(obj)          GTK_CHECK_CAST (obj, gtk_rpc_binding_dialog_get_type (), GtkRpcBindingDialog)
58 #define GTK_RPC_BINDING_DIALOG_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_rpc_binding_dialog_class_get_type (), GtkRpcBindingDialogClass)
59 #define IS_GTK_RPC_BINDING_DIALOG(obj)       GTK_CHECK_TYPE (obj, gtk_rpc_binding_dialog_get_type ())
60
61 #endif
62
63 /* subsystem prototypes */
64 GtkWidget *create_gtk_samba_about_dialog (const char *appname);
65 void gtk_show_ntstatus(GtkWidget *win, NTSTATUS status);
66 GtkWidget *gtk_rpc_binding_dialog_new (BOOL nocredentials, struct sam_pipe *sam_pipe);
67 GType gtk_rpc_binding_dialog_get_type (void);
68 struct dcerpc_binding *gtk_rpc_binding_dialog_get_binding(GtkRpcBindingDialog *d, TALLOC_CTX *mem_ctx);
69 GtkWidget *gtk_select_host_dialog_new (struct sam_pipe *sam_pipe, BOOL nocredentials);
70 const char *gtk_select_host_dialog_get_host (GtkSelectHostDialog *d);
71 GType gtk_select_host_dialog_get_type (void);
72 void gtk_show_werror(GtkWidget *win, WERROR err);
73 const char *gtk_rpc_binding_dialog_get_binding_string(GtkRpcBindingDialog *d, TALLOC_CTX *mem_ctx);
74 struct cli_credentials *gtk_rpc_binding_dialog_get_credentials(GtkRpcBindingDialog *d);
75 const char *gtk_rpc_binding_dialog_get_host(GtkRpcBindingDialog *d);
76 GtkWidget *gtk_select_domain_dialog_new (struct dcerpc_pipe *sam_pipe);
77 GType gtk_select_domain_dialog_get_type (void);
78 struct policy_handle gtk_select_domain_dialog_get_handle(GtkSelectDomainDialog *d);
79
80 int gtk_event_loop(void);
81 struct event_context;
82 struct event_context *gtk_event_context(void);
83
84 #endif