ATLAS Offline Software
Loading...
Searching...
No Matches
VP1ChannelManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// //
7// Header file for class VP1ChannelManager //
8// //
9// Author: Thomas Kittelmann <Thomas.Kittelmann@cern.ch> //
10// //
11// Initial version: April 2007 //
12// //
14
15#ifndef VP1CHANNELMANAGER_H
16#define VP1CHANNELMANAGER_H
17
18// channel manager - manages channel plugins, and knows which are
19// available. (also creates/deletes/clones channels, + manages channels ids.)
20
23class VP1MainWindow;
24#include <QObject>
25#include <QStringList>
26
27class VP1ChannelManager : public QObject {
28
29 Q_OBJECT
30
31public:
34
35 QString loadPluginFile(const QString & filename);
36 //This does not actually instantiate any channel widgets - it merely
37 //instantiates the widget factory from the plugin file (if possible,
38 //otherwise it returns an error messages), and notices which
39 //channels are provided by this factor (if 0 channels are provided,
40 //it also returns an error message). If an empty string was
41 //returned, there were no errors.
42 bool unloadPluginFile(const QString & filename);
43
44 QStringList currentPluginFiles() const;
45
46 QStringList channelsInPluginFile(const QString & filename) const;//An empty returned stringlist is probably because 'filename' never was loaded succesfully.
47
48 QStringList basename2UniqueNames(const QString & basename) const;
49
50 bool deleteChannel(const QString & channeluniquename);
51
52 IVP1ChannelWidget * getChannel( const QString& channelbasename, QString& err );//returns 0 if unsuccesful. Otherwise, 'err' contains an error message.
53 unsigned nActive( const QString & channelbasename ) const;
54
55 IVP1ChannelWidget* uniqueName2Channel(const QString & uniquename) const;
56
57 bool hasRefreshingSystem(const QString & uniquename) const;
58
59 QStringList uniquenames() const;
60
61 bool uniqueNameExists(const QString &) const;
62 bool baseNameExists(const QString &) const;
63 bool channelWithBasenameIsLoaded(const QString & basename) const;
64
65 QStringList serializePluginInfo() const;
66
68
69 QString getIconLocation(const QString& channelname, const bool& isbasename=true);//Returns empty string if channelname is not recognised.
70
71 QStringList availableChannelList();
72
73signals:
74 void uniquename_channelListChanged(const QStringList & );//gives a list of channel unique_name's.
75 void availableChannelListChanged(const QStringList & );//gives a list of channel base_name's.
76 void availableUnusedChannelListChanged(const QStringList &);//gives a list of channel base_name's (only the one's that dont appear anywhere).
79
80private:
81 class Imp;
83};
84
85#endif
86
QStringList basename2UniqueNames(const QString &basename) const
bool hasRefreshingSystem(const QString &uniquename) const
bool baseNameExists(const QString &) const
bool uniqueNameExists(const QString &) const
QStringList serializePluginInfo() const
bool channelWithBasenameIsLoaded(const QString &basename) const
QStringList channelsInPluginFile(const QString &filename) const
bool deleteChannel(const QString &channeluniquename)
void channelUncreated(IVP1ChannelWidget *)
IVP1ChannelWidget * getChannel(const QString &channelbasename, QString &err)
QString loadPluginFile(const QString &filename)
void availableUnusedChannelListChanged(const QStringList &)
QStringList currentPluginFiles() const
QString getIconLocation(const QString &channelname, const bool &isbasename=true)
bool unloadPluginFile(const QString &filename)
void availableChannelListChanged(const QStringList &)
unsigned nActive(const QString &channelbasename) const
QWidget * getController(IVP1ChannelWidget *)
VP1ChannelManager(VP1ExecutionScheduler *, VP1MainWindow *)
QStringList uniquenames() const
void uniquename_channelListChanged(const QStringList &)
QStringList availableChannelList()
IVP1ChannelWidget * uniqueName2Channel(const QString &uniquename) const
void newChannelCreated(IVP1ChannelWidget *)
std::string basename(std::string name)
Definition utils.cxx:207