Added SILC Thread Queue API
[crypto.git] / apps / silcer / src / silcerapp.hh
1 /*
2
3   silcerapp.hh 
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 2001 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; version 2 of the License.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18 */
19
20 #ifndef SILCERAPP_HH
21 #define SILCERAPP_HH
22
23 #include "SilcerMainDlg.hh"
24 #include "silcer_gladehelper.hh"
25
26 #include "silcincludes.h"
27 #include "silcclient.h"
28
29 #include <fstream>
30 #include <glade/glade-xml.h>
31 #include <sigc++/object_slot.h>
32 #include <gnome--/client.h>
33 #include <gnome--/main.h>
34
35 // Forward declarations
36 class SilcerApp;
37
38 // Global pointer for the application
39 extern SilcerApp *Silcer_App;
40
41 // Global pointer to the SILC Client Library object
42 extern SilcClient silc_client;
43 extern SilcClientConnection silc_client_conn;
44
45 // Silcer class
46 class SilcerApp : public SigC::Object
47 {
48 public:
49   SilcerApp(int argc, char **argv);
50   ~SilcerApp();
51
52   SilcerMainDlg *_MainDialog;
53
54   void run();
55   void quit();
56   GladeXML* load_resource(const char *name);
57   GladeXML* load_resource(const char *name, const char *filename);
58
59 protected:
60   gint silc_scheduler();
61
62 private:
63   Gnome::Main _GnomeApp;
64   Gnome::Client *_gclient;
65   string _SourceDir;
66   string _pix_path;
67 };
68
69 #endif /* SILCERAPP_HH */