summaryrefslogtreecommitdiffstats
path: root/kmyfirewall/genericinterface/kmfgenericinterfacehost.h
blob: ba7b2514f0b446d3d071002abe2b980abd987e65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//
//
// C++ Interface: $MODULE$
//
// Description:
//
//
// Author: Christian Hubinger <chubinger@irrsinnig.org>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/


#ifndef KMFGENERICINTERFACEHOST_H
#define KMFGENERICINTERFACEHOST_H

#include "kmyfirewallgenericinterfacehostwidget.h"

/**
@author Christian Hubinger
*/

// TQt includes

#include <tqstring.h>
#include <tqguardedptr.h>
#include <tqpixmap.h>
#include <tquuid.h>

class TQListViewItem;

// KDE includes

class TDEPopupMenu;

namespace KMF {
// Project Includes
class KMFNetwork;
class KMFGenericDoc;
class KMFNetZone;
class KMFNetHost;
class KMFListViewItem;
class NetfilterObject;

class KMFGenericInterfaceHost : public KMyFirewallGenericInterfaceHostWidget {
	TQ_OBJECT
  
public:
	KMFGenericInterfaceHost( TQWidget *parent = 0, const char *name = 0, WFlags f = 0 );

	~KMFGenericInterfaceHost();

public:
	void loadDoc( KMFNetwork* );

public slots:
	void slotUpdateView();
	void slotUpdateView( NetfilterObject* );

private slots:
	void slotZoneRBM( TQListViewItem*, const TQPoint&, int );
	void slotNewHost();
    void slotDelHost();
    void slotNewItemSelected( TQListViewItem* );
    void slotRenameHost();
	void slotHostRenamed( TQListViewItem*, int , const TQString & );
	void slotAddressChanged( const TQString& );
	void slotHostDescChanged();
	void slotLoggingChanged( bool );
	// void slotDisable();
	
private:
	void loadIcons();
	KMFListViewItem* findKMFItem( const TQString& text, const TQUuid& obj_id );
	KMFListViewItem* findKMFItem( const TQUuid&  obj_id );

	TQGuardedPtr<KMFNetZone> m_zone;
	TQGuardedPtr<KMFNetHost> m_host;
	TQGuardedPtr<KMFNetwork> m_doc;
	TDEPopupMenu* m_contextMenu;

	KMFListViewItem *itemTrustedHosts;
	KMFListViewItem *itemMaliciousHosts;
	KMFListViewItem *itemBadServers;
	KMFListViewItem *itemBadClients;



	TQPixmap icon_up, icon_down, icon_del, icon_edit, icon_rule, icon_filter, icon_rename,
	icon_chain, icon_log, icon_accept, icon_drop, icon_cmd, icon_reject, icon_return,
		icon_target, icon_queue, icon_new, icon_copy, icon_move;

};
}
#endif