summaryrefslogtreecommitdiffstats
path: root/kmyfirewall/ruleoptionplugins/mac_option/kmfruleoptioneditmac.cpp
blob: 7358606788246165ef41104c5a6bf4879153b5e3 (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
105
106
107
108
109
110
111
/***************************************************************************
    Copyright (C) 2004 Christian Hubinger
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/
#include "kmfruleoptioneditmac.h"


// QT includes
#include <tqstring.h>

// KDE includes
#include <kdebug.h>
#include <klocale.h>

// Project includes
#include "../../core/iptrule.h"
#include "../../core/kmfruleeditinterface.h"
#include "kmfruleeditmac.h"

namespace KMF {
KMFRuleOptionEditMAC::KMFRuleOptionEditMAC(TQObject *tqparent, const char *name)
		: KMFRuleOptionEditInterface(tqparent, name) {
	kdDebug() <<"KMFRuleOptionEditMAC::KMFRuleOptionEditMAC(TQObject *tqparent, const char *name)" << endl;
	kdDebug() << "Parent has Type: " << tqparent->className()  << endl;
	
	m_edit = new KMFRuleEditMac( 0 , "Edit", 0 );
	m_edit->hide();

	connect( m_edit,TQT_SIGNAL(sigHideMe() ), 
		this,TQT_SLOT( slotShowOverview() ) );
}

KMFRuleOptionEditMAC::~KMFRuleOptionEditMAC() {}

void KMFRuleOptionEditMAC::slotShowOverview() {
	if ( KMFRuleEditInterface* ruleedit = dynamic_cast<KMFRuleEditInterface*> ( tqparent() ) ) {
		ruleedit->showOverview();
	} else {
		kdDebug() << "KMFRuleOptionEditMAC::slotShowOverview(): tqparent() not of type KMFRuleEditInterface" << endl;
	}
}

const TQString& KMFRuleOptionEditMAC::optionEditName() const {
	return *( new TQString( i18n("MAC Option") ) );
}
const TQString& KMFRuleOptionEditMAC::description() const {
	return *( new TQString( i18n("This plugin manages the MAC address based options of iptables.") ) );
}

void KMFRuleOptionEditMAC::loadRule( IPTRule* rule ) {
	if ( !rule ) {
		kdDebug() << "KMFRuleOptionEditMAC::loadRule( IPTRule* rule ) - rule == 0" << endl;
		return;
	}
	
	m_edit->loadRule( rule );
	m_rule = rule;

}

TQWidget* KMFRuleOptionEditMAC::editWidget() {
	if ( ! m_edit ) {
		kdDebug() << "KMFRuleOptionEditMAC::editWidget() - m_edit == 0" << endl;
		return 0;
	}
	return m_edit;
}





// It's usually safe to leave the factory code alone.. with the
// notable exception of the KAboutData data
#include <kaboutdata.h>
#include <klocale.h>

// KInstance* KMFRuleOptionEditMACFactory::s_instance = 0L;
// KAboutData* KMFRuleOptionEditMACFactory::s_about = 0L;

KMFRuleOptionEditMACFactory::KMFRuleOptionEditMACFactory( TQObject* tqparent, const char* name )
		: KLibFactory( tqparent, name ) {
// 	s_instance = new KInstance( "KMFRuleOptionEditMACFactory" );
}

TQObject* KMFRuleOptionEditMACFactory::createObject( TQObject* tqparent, const char* name,
        const char*, const TQStringList & ) {
	TQObject * obj = new KMFRuleOptionEditMAC( tqparent, name );
	emit objectCreated( obj );
	return obj;
}


extern "C" {
	void* init_libkmfruleoptionedit_mac() {
		return new KMFRuleOptionEditMACFactory;
	}
}


}

#include "kmfruleoptioneditmac.moc"