summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/datamgr.h
blob: 7fa42c1ea46d5a890dad95cb5cf431d78140c13f (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
/***************************************************************************
                          datamgr.h  -  description
                             -------------------
    begin                : Thu Aug 29 2002
    copyright            : (C) 2002 by Andy Qua
    email                : andy.qua@blueyonder.co.uk
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 DATAMGR_H
#define DATAMGR_H

#include <map>
using namespace std;

#include <qlist.h>
#include <qobject.h>
#include <qstring.h>

#include "server.h"
#include "destination.h"

#define LOCAL_SERVER			"Installed Pkgs"
#define LOCAL_IPKGS				"local IPKG"

/**
  *@author Andy Qua
  */


class DataManager : public QObject
{
    Q_OBJECT
public:
    DataManager();
    ~DataManager();

    void setActiveServer( const QString &act )      { activeServer = act; }
    QString &getActiveServer( )      				{ return activeServer; }

    Server *getLocalServer()    					{ return ( getServer( LOCAL_SERVER ) ); }
    QList<Server> &getServerList()   				{ return serverList; }
    Server *getServer( const char *name );

    QList<Destination> &getDestinationList()  		{ return destList; }
    Destination *getDestination( const char *name );

    void loadServers();
    void reloadServerData( );

    void writeOutIpkgConf();

    static QString getAvailableCategories() { return availableCategories; }
    static void setAvailableCategories( QString section );

    QString getHttpProxy()                          { return httpProxy; }
    QString getFtpProxy()                           { return ftpProxy; }
    QString getProxyUsername()                      { return proxyUsername; }
    QString getProxyPassword()                      { return proxyPassword; }

    bool getHttpProxyEnabled()                      { return httpProxyEnabled; }
    bool getFtpProxyEnabled()                       { return ftpProxyEnabled; }

    void setHttpProxy( QString proxy )              { httpProxy = proxy; }
    void setFtpProxy( QString proxy )               { ftpProxy = proxy; }
    void setProxyUsername( QString name )           { proxyUsername = name; }
    void setProxyPassword( QString pword )          { proxyPassword = pword; }

    void setHttpProxyEnabled( bool val )            { httpProxyEnabled = val; }
    void setFtpProxyEnabled( bool val )            { ftpProxyEnabled = val; }
private:
    static QString availableCategories;
    QString activeServer;
    QString httpProxy;
    QString ftpProxy;
    QString proxyUsername;
    QString proxyPassword;

    bool httpProxyEnabled;
    bool ftpProxyEnabled;

    QList<Server> serverList;
    QList<Destination> destList;

signals:
    void progressSetSteps( int );
    void progressSetMessage( const QString & );
    void progressUpdate( int );
};

#endif