summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/metafactory.cpp
blob: 4501ec27d3dfcadbfcf32ab57f9626a1e6e540e6 (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
112
113
114
#include <qpe/config.h>
#include "metafactory.h"

MetaFactory::MetaFactory() {
}
MetaFactory::~MetaFactory() {

}
void MetaFactory::addConnectionWidgetFactory( const QCString& name,
                                              const QString& str,
                                              configWidget wid) {
    m_strings.insert( str, name );
    m_conFact.insert( str, wid );
}
void MetaFactory::addTerminalWidgetFactory( const QCString& name,
                                            const QString& str,
                                            configWidget wid ) {
    m_strings.insert( str, name );
    m_termFact.insert( str, wid );
}
void MetaFactory::addIOLayerFactory( const QCString& name,
                                     const QString& str,
                                     iolayer lay) {
    m_strings.insert( str, name );
    m_layerFact.insert( str, lay );
}
void MetaFactory::addFileTransferLayer( const QCString& name,
                                        const QString& str,
                                        filelayer lay) {
    m_strings.insert(str, name );
    m_fileFact.insert( str, lay );
}
QStringList MetaFactory::ioLayers()const {
    QStringList list;
    QMap<QString, iolayer>::ConstIterator it;
    for (it = m_layerFact.begin(); it != m_layerFact.end(); ++it ) {
        list << it.key();
    }
    return list;
}
QStringList MetaFactory::connectionWidgets()const {
    QStringList list;
    QMap<QString,  configWidget>::ConstIterator it;
    for ( it = m_conFact.begin(); it != m_conFact.end(); ++it ) {
        list << it.key();
    }
    return list;
}
QStringList MetaFactory::terminalWidgets()const {
    QStringList list;
    QMap<QString,  configWidget>::ConstIterator it;
    for ( it = m_termFact.begin(); it != m_termFact.end(); ++it ) {
        list << it.key();
    }
    return list;
}
QStringList MetaFactory::fileTransferLayers()const {
    QStringList list;
    QMap<QString, filelayer>::ConstIterator it;
    for ( it = m_fileFact.begin(); it != m_fileFact.end(); ++it ) {
        list << it.key();
    }
    return list;
}

IOLayer* MetaFactory::newIOLayer( const QString& str,const Profile& prof ) {
    IOLayer* lay = 0l;

    QMap<QString, iolayer>::Iterator it;
    it = m_layerFact.find( str );
    if ( it != m_layerFact.end() ) {
        lay = (*(it.data()))(prof);
        /*
        iolayer laye = it.data();
        lay = (*laye )(conf);*/
    }

    return lay;
}

ProfileDialogWidget *MetaFactory::newConnectionPlugin ( const QString& str, QWidget *parent) {
    ProfileDialogWidget* wid = 0l;

    QMap<QString, configWidget>::Iterator it;
    it = m_conFact.find( str );
    if ( it != m_conFact.end() ) {
        wid = (*(it.data() ) )(str,parent);
    }
    return wid;
}
ProfileDialogWidget *MetaFactory::newTerminalPlugin( const QString& str, QWidget *parent) {
    if (str.isEmpty() )
        return 0l;
    ProfileDialogWidget* wid = 0l;
    qWarning("new terminalPlugin %s %l", str.latin1(), parent );

    QMap<QString, configWidget>::Iterator it;
    it = m_termFact.find( str );
    if ( it != m_termFact.end() ) {
        wid = (*(it.data() ) )(str,parent);
    }
    return wid;
}
QCString MetaFactory::internal( const QString& str )const {
    return m_strings[str];
}
QString MetaFactory::external( const QCString& str )const {
    QMap<QString, QCString>::ConstIterator it;
    for ( it = m_strings.begin(); it != m_strings.end(); ++it ) {
        if ( it.data() == str )
            return it.key();
    }
    return QString::null;
}