Skip to content
This repository was archived by the owner on Oct 10, 2022. It is now read-only.

Commit d073dfb

Browse files
authored
Reduce c++ headers usage (#83)
* Remove unused RecordingInformation::ptr #trigger_build * Add helper for forward declaration. Port a few classes (Frame in particular) to new FWD syntax * ImageHandler::ptr -> ImageHandlerPtr * ImageHandlers::ptr -> ImageHandlersPtr * Forward declarations for SaveImages * Forward declarations for Driver and Camera * Histogram::ptr -> HistogramPtr #trigger_ci * Fix ubuntu 16.04 build * FileWriter::Ptr -> FileWriterPtr * PlanetaryImager::Ptr -> PlanetaryImagerPtr * DriverForwarder::ptr => DriverForwarderPtr * FilesystemBrowser::ptr => FilesystemBrowserPtr * QHYImagingWorker::Ptr -> QHYImagingWorkerPtr #trigger_ci * RemoteDriver::ptr => RemoteDriverPtrRemoteDriver * Split NetworkDispatcher and NetworkReceiver header/implementation NetworkDispatcher::ptr => NetworkDispatcherPtr #trigger_ci * NetworkPacket::ptr => NetworkPacketPtr * NetworkPacket::ptr => NetworkPacketPtr #trigger_ci * RemoteFilesystem::ptr => RemoteFilesystemPtr * NetworkClient::ptr => NetworkClientPtr * SaveFileForwarder::ptr => SaveFileForwarderPtr * Fix NetworkClientPtr * FilesystemForwarder::ptr => FilesystemForwarderPtr * V4L2Buffer::ptr => V4L2BufferPtr * V4L2Device::ptr => V4L2DevicePtr * V4L2Control::ptr => V4L2ControlPtr * Fwd for V4L2 Formats and nested classes #trigger_ci * QHYControl::ptr => QHYControlPtr * ASIImagingWorker::ptr => ASIImagingWorkerPtr * ROIValidator::ptr => ROIValidatorPtr * More headers cleanup
1 parent 46e2389 commit d073dfb

144 files changed

Lines changed: 991 additions & 666 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/commons/filesystembrowser.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@
2020
#define FILESYSTEM_BROWSER_H
2121
#include <QObject>
2222
#include <memory>
23+
#include "commons/fwd.h"
24+
25+
FWD_PTR(FilesystemBrowser)
26+
FWD(QSettings)
2327

24-
class QSettings;
2528
class FilesystemBrowser : public QObject
2629
{
2730
Q_OBJECT
2831
public:
29-
typedef std::shared_ptr<FilesystemBrowser> ptr;
3032
virtual bool isLocal() const = 0;
3133
public slots:
3234
virtual void pickDirectory(const QString currentDirectory = {}) const = 0;

src/commons/frame.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,13 @@
2626
#include <QDateTime>
2727
#include <QVariantMap>
2828
#include <chrono>
29+
#include "commons/fwd.h"
30+
31+
FWD_PTR(Frame)
32+
2933
class Frame
3034
{
3135
public:
32-
typedef std::shared_ptr<Frame> ptr;
33-
using const_ptr = std::shared_ptr<const Frame>;
3436
enum ColorFormat {
3537
Mono,
3638
RGB,
@@ -55,7 +57,7 @@ class Frame
5557
ByteOrder byteOrder() const;
5658

5759
QVariantMap const as_variant();
58-
static ptr from_variant(const QVariantMap &map);
60+
static FramePtr from_variant(const QVariantMap &map);
5961
typedef std::chrono::duration<double> Seconds;
6062
Seconds exposure() const;
6163
void set_exposure(const Seconds &exposure);
@@ -64,4 +66,6 @@ class Frame
6466
DPTR
6567
};
6668

69+
70+
6771
#endif // FRAME_H

src/commons/fwd.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (C) 2019 Marco Gulino (marco AT gulinux.net)
3+
*
4+
* This library is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU Lesser General Public License as published
6+
* by the Free Software Foundation; either version 2.1 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful, but
10+
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11+
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12+
* License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public License
15+
* along with this library; if not, write to the Free Software Foundation,
16+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17+
*
18+
*/
19+
20+
21+
#ifndef FWD_H
22+
23+
#define FWD(Class) class Class;
24+
#define PTR(Class) typedef std::shared_ptr<Class> Class ## Ptr; \
25+
typedef std::shared_ptr<const Class> Class ## ConstPtr;
26+
27+
#define FWD_PTR(Class) FWD(Class)\
28+
PTR(Class)
29+
30+
#define FWD_H
31+
#endif

src/commons/ser_header.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
*/
1818
#ifndef _SER_HEADER_H
1919
#define _SER_HEADER_H
20-
#include <stdint.h>
2120
#include "frame.h"
2221
#include <QDateTime>
2322
#include <QtEndian>

src/drivers/driver.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,25 @@
1919
#define PLANETARY_IMAGER_DRIVER_H
2020
#include <QList>
2121
#include <QString>
22-
#include <QtPlugin>
2322
#include "imager.h"
2423
#include "dptr.h"
24+
#include "commons/fwd.h"
25+
26+
FWD_PTR(Driver)
27+
FWD_PTR(Camera)
28+
29+
class Camera {
30+
public:
31+
virtual QString name() const = 0;
32+
virtual Imager *imager(const ImageHandlerPtr &imageHandler) const = 0;
33+
};
2534

2635
class Driver : public QObject {
2736
Q_OBJECT
2837
public:
29-
typedef std::shared_ptr<Driver> ptr;
30-
class Camera {
31-
public:
32-
typedef std::shared_ptr<Camera> ptr;
33-
virtual QString name() const = 0;
34-
virtual Imager *imager(const ImageHandler::ptr &imageHandler) const = 0;
35-
};
36-
typedef QList<Camera::ptr> Cameras;
3738
virtual void aboutToQuit();
38-
virtual Cameras cameras() const = 0;
39+
virtual QList<CameraPtr> cameras() const = 0;
3940
};
40-
typedef QList<Driver::ptr> Drivers;
4141
typedef Driver *(*LoadDriverFunction)();
4242

4343

src/drivers/flycapture2/fc2_driver.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "fc2_imager.h"
2424

2525

26-
class FC2Camera: public Driver::Camera
26+
class FC2Camera: public Camera
2727
{
2828
fc2PGRGuid guid;
2929
QString camName;
@@ -36,7 +36,7 @@ class FC2Camera: public Driver::Camera
3636

3737
virtual ~FC2Camera();
3838

39-
Imager *imager(const ImageHandler::ptr &imageHandler) const override;
39+
Imager *imager(const ImageHandlerPtr &imageHandler) const override;
4040

4141
QString name() const override { return camName; }
4242
};
@@ -69,18 +69,18 @@ DPTR_IMPL(FC2Driver)
6969
{
7070
};
7171

72-
Imager *FC2Camera::imager(const ImageHandler::ptr &imageHandler) const
72+
Imager *FC2Camera::imager(const ImageHandlerPtr &imageHandler) const
7373
{
7474
return new FC2Imager(guid, imageHandler);
7575
}
7676

77-
Driver::Cameras FC2Driver::cameras() const
77+
QList<CameraPtr> FC2Driver::cameras() const
7878
{
7979
fc2Context context;
8080
FC2_CHECK << fc2CreateContext(&context)
8181
<< "fc2CreateContext";
8282

83-
Driver::Cameras result;
83+
QList<CameraPtr> result;
8484

8585
unsigned int numCams;
8686
FC2_CHECK << fc2GetNumOfCameras(context, &numCams)

src/drivers/flycapture2/fc2_driver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class FC2Driver: public Driver
3232

3333
~FC2Driver();
3434

35-
Driver::Cameras cameras() const override;
35+
QList<CameraPtr> cameras() const override;
3636

3737
private:
3838

src/drivers/flycapture2/fc2_imager.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ DPTR_IMPL(FC2Imager)
153153
// Copies of controls; used for informing the GUI about changes in their availability
154154
Control ctrlWhiteBalanceRed, ctrlWhiteBalanceBlue;
155155

156-
ROIValidator::ptr roiValidator; ///< Region of Interest validator
156+
ROIValidatorPtr roiValidator; ///< Region of Interest validator
157157

158158
/// Concerns the current video mode; used to disable ROI and return to full image size
159159
QSize maxFrameSize;
@@ -338,7 +338,7 @@ static fc2PixelFormat GetFirstSupportedPixelFormat(const fc2Format7Info &f7info)
338338
return first;
339339
}
340340

341-
FC2Imager::FC2Imager(const fc2PGRGuid &guid, const ImageHandler::ptr &handler)
341+
FC2Imager::FC2Imager(const fc2PGRGuid &guid, const ImageHandlerPtr &handler)
342342
: Imager(handler), dptr()
343343
{
344344
//FIXME: if a CHECK fails in Imager constructor, there is a segfault (instead of printing the caught exception)

src/drivers/flycapture2/fc2_imager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class FC2Imager: public Imager
3131

3232
public:
3333

34-
FC2Imager(const fc2PGRGuid &guid, const ImageHandler::ptr &handler);
34+
FC2Imager(const fc2PGRGuid &guid, const ImageHandlerPtr &handler);
3535

3636
virtual ~FC2Imager();
3737

src/drivers/flycapture2/fc2_worker.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include "fc2_exception.h"
2222
#include "fc2_worker.h"
23+
#include "commons/frame.h"
2324

2425

2526
// Captured frames may be "inconsistent" (have damaged contents), e.g. sometimes when using GigE cameras
@@ -131,7 +132,7 @@ void FC2ImagerWorker::initFrameInfo()
131132
}
132133
}
133134

134-
Frame::ptr FC2ImagerWorker::shoot()
135+
FramePtr FC2ImagerWorker::shoot()
135136
{
136137
// //TODO: fail gracefully if cannot capture
137138

0 commit comments

Comments
 (0)