Blame view

src/dcxmletlnetwork.h 1.75 KB
30448f62   Peter M. Groen   Replace Qt with s...
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
  #ifndef OSDEV_COMPONENTS_DCXMLETLNETWORK_H
  #define OSDEV_COMPONENTS_DCXMLETLNETWORK_H
  
  #include "connection.h"
  #include "connections.h"
  #include "connectordata.h"
  #include "dcxmlbase.h"
  #include "objectdata.h"
  
  // Qt
  #include <QHash>
  #include <QList>
  #include <QSharedPointer>
  #include <QString>
  #include <QStringList>
  #include <QThread>
  
  namespace osdev {
  namespace components {
  
  /*
   *   _________________________________________
   *  / An expert is one who knows more and     \
   *  | more about less and less until he knows |
   *  \ absolutely everything about nothing.    /
   *   -----------------------------------------
   *     \
   *      \
   *          .--.
   *         |o_o |
   *         |:_/ |
   *        //   \ \
   *       (|     | )
   *      /'\_   _/`\
   *      \___)=(___/
   *******************************************************/
  /*!
   *  \brief  The class that actually parses the configuration file and provides
   *          accessors to the internal data.
   */
  class DcXmlEtlNetwork : public DcXmlBase
  {
  public:
      DcXmlEtlNetwork();
      explicit DcXmlEtlNetwork(const QString& fileName);
      virtual ~DcXmlEtlNetwork();
  
      QStringList getNetworkNames() const;
      QList<QSharedPointer<ObjectData>> getObjectsOfNetwork(const QString& networkName) const;
      Connections getConnectionsOfNetwork(const QString& networkName) const;
  
      QStringList getInputVariables(const QString& serviceName) const;
      QStringList getOutputVariables(const QString& networkName) const;
  
      QThread::Priority getPrioByNetworkName(const QString& networkName) const;
  
  private:
      void constructXPathHash();
      void constructEnumHash();
  
      QHash<QString, QThread::Priority> m_qhPriority; // Enum from QThread
  };
  
  } // namespace components
  } // namespace osdev
  
  #endif // OSDEV_COMPONENTS_DCXMLETLNETWORK_H