CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxCommandlineImageStreamerFactory.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXIMAGESENDERFACTORY_H_
13 #define CXIMAGESENDERFACTORY_H_
14 
15 #include "cxGrabberExport.h"
16 
17 #include <QObject>
18 #include <QStringList>
19 #include <map>
20 #include <vector>
21 #include "cxStreamer.h"
22 
23 class QTcpSocket;
24 
25 namespace cx
26 {
27 
28 typedef std::map<QString, QString> StringMap;
29 cxGrabber_EXPORT StringMap extractCommandlineOptions(QStringList cmdline);
30 
31 
40 class cxGrabber_EXPORT CommandlineImageStreamerFactory
41 {
42 public:
44  QString getDefaultSenderType() const;
45  QStringList getSenderTypes() const;
46  QStringList getArgumentDescription(QString type) const;
47  CommandLineStreamerPtr getImageSender(QString type);
48  StreamerPtr getFromArguments(StringMap args);
49 
50 private:
51  std::vector<CommandLineStreamerPtr> mCommandLineStreamers;
52 };
53 
54 }
55 
56 #endif /* CXIMAGESENDERFACTORY_H_ */
std::map< QString, QString > StringMap
Factory class for creating streamer objects.
StringMap extractCommandlineOptions(QStringList cmdline)
boost::shared_ptr< CommandLineStreamer > CommandLineStreamerPtr
Definition: cxStreamer.h:103
boost::shared_ptr< class Streamer > StreamerPtr
Namespace for all CustusX production code.