Skip to content
Snippets Groups Projects
Commit 9645963b authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Add all destructors

parent 99de7ca1
No related branches found
No related tags found
1 merge request!355SDK memory fixes and pipelines
Pipeline #33736 failed
Showing
with 39 additions and 9 deletions
...@@ -13,7 +13,7 @@ class InputFeedImpl : public voltu::Feed ...@@ -13,7 +13,7 @@ class InputFeedImpl : public voltu::Feed
{ {
public: public:
InputFeedImpl(ftl::stream::Feed*, uint32_t fsid); InputFeedImpl(ftl::stream::Feed*, uint32_t fsid);
~InputFeedImpl(); ~InputFeedImpl() override;
std::string getURI() override; std::string getURI() override;
...@@ -34,7 +34,7 @@ class OutputFeedImpl : public voltu::Feed ...@@ -34,7 +34,7 @@ class OutputFeedImpl : public voltu::Feed
{ {
public: public:
OutputFeedImpl(ftl::stream::Feed*, const std::string &uri); OutputFeedImpl(ftl::stream::Feed*, const std::string &uri);
~OutputFeedImpl(); ~OutputFeedImpl() override;
std::string getURI() override; std::string getURI() override;
......
...@@ -14,7 +14,7 @@ class FrameImpl : public voltu::Frame ...@@ -14,7 +14,7 @@ class FrameImpl : public voltu::Frame
{ {
public: public:
FrameImpl(); FrameImpl();
~FrameImpl(); ~FrameImpl() override;
std::list<voltu::ImagePtr> getImageSet(voltu::Channel) override; std::list<voltu::ImagePtr> getImageSet(voltu::Channel) override;
......
...@@ -12,7 +12,7 @@ class ImageImpl : public voltu::Image ...@@ -12,7 +12,7 @@ class ImageImpl : public voltu::Image
{ {
public: public:
ImageImpl(const ftl::rgbd::Frame&, ftl::codecs::Channel c); ImageImpl(const ftl::rgbd::Frame&, ftl::codecs::Channel c);
~ImageImpl(); ~ImageImpl() override;
voltu::ImageData getHost() override; voltu::ImageData getHost() override;
......
...@@ -28,7 +28,8 @@ ObserverImpl::ObserverImpl(ftl::Configurable *base) ...@@ -28,7 +28,8 @@ ObserverImpl::ObserverImpl(ftl::Configurable *base)
ObserverImpl::~ObserverImpl() ObserverImpl::~ObserverImpl()
{ {
delete rend_;
delete pool_;
} }
void ObserverImpl::setResolution(uint32_t w, uint32_t h) void ObserverImpl::setResolution(uint32_t w, uint32_t h)
......
...@@ -17,7 +17,7 @@ class ObserverImpl : public voltu::Observer ...@@ -17,7 +17,7 @@ class ObserverImpl : public voltu::Observer
public: public:
explicit ObserverImpl(ftl::Configurable *base); explicit ObserverImpl(ftl::Configurable *base);
~ObserverImpl(); ~ObserverImpl() override;
void setResolution(uint32_t w, uint32_t h) override; void setResolution(uint32_t w, uint32_t h) override;
......
...@@ -14,7 +14,7 @@ class OperatorImpl : public voltu::Operator ...@@ -14,7 +14,7 @@ class OperatorImpl : public voltu::Operator
{ {
public: public:
OperatorImpl(ftl::Configurable*); OperatorImpl(ftl::Configurable*);
~OperatorImpl(); ~OperatorImpl() override;
voltu::PropertyPtr property(const std::string &name) override; voltu::PropertyPtr property(const std::string &name) override;
......
...@@ -12,7 +12,7 @@ class PipelineImpl : public voltu::Pipeline ...@@ -12,7 +12,7 @@ class PipelineImpl : public voltu::Pipeline
{ {
public: public:
PipelineImpl(ftl::Configurable *root); PipelineImpl(ftl::Configurable *root);
~PipelineImpl(); ~PipelineImpl() override;
void submit(const voltu::FramePtr &frame) override; void submit(const voltu::FramePtr &frame) override;
......
...@@ -11,6 +11,11 @@ RoomImpl::RoomImpl(ftl::stream::Feed* feed) ...@@ -11,6 +11,11 @@ RoomImpl::RoomImpl(ftl::stream::Feed* feed)
} }
RoomImpl::~RoomImpl()
{
if (filter_) filter_->remove();
}
bool RoomImpl::waitNextFrame(int64_t timeout) bool RoomImpl::waitNextFrame(int64_t timeout)
{ {
if (!filter_) if (!filter_)
......
...@@ -14,6 +14,8 @@ class RoomImpl : public voltu::Room ...@@ -14,6 +14,8 @@ class RoomImpl : public voltu::Room
public: public:
explicit RoomImpl(ftl::stream::Feed*); explicit RoomImpl(ftl::stream::Feed*);
~RoomImpl() override;
bool waitNextFrame(int64_t) override; bool waitNextFrame(int64_t) override;
voltu::FramePtr getFrame() override; voltu::FramePtr getFrame() override;
......
...@@ -45,7 +45,11 @@ SystemImpl::SystemImpl() ...@@ -45,7 +45,11 @@ SystemImpl::SystemImpl()
SystemImpl::~SystemImpl() SystemImpl::~SystemImpl()
{ {
ftl::timer::stop(true); ftl::timer::stop(true);
net_->shutdown();
ftl::pool.stop(true); ftl::pool.stop(true);
delete feed_;
delete net_;
delete root_;
} }
voltu::Version SystemImpl::getVersion() const voltu::Version SystemImpl::getVersion() const
......
...@@ -14,7 +14,7 @@ class SystemImpl : public voltu::System ...@@ -14,7 +14,7 @@ class SystemImpl : public voltu::System
{ {
public: public:
SystemImpl(); SystemImpl();
~SystemImpl(); ~SystemImpl() override;
voltu::Version getVersion() const override; voltu::Version getVersion() const override;
......
...@@ -35,6 +35,8 @@ enum class FeedProperty ...@@ -35,6 +35,8 @@ enum class FeedProperty
class Feed class Feed
{ {
public: public:
virtual ~Feed() = default;
PY_API virtual std::string getURI() = 0; PY_API virtual std::string getURI() = 0;
PY_API virtual void remove() = 0; PY_API virtual void remove() = 0;
......
...@@ -25,6 +25,8 @@ enum class ObserverProperty ...@@ -25,6 +25,8 @@ enum class ObserverProperty
class Observer class Observer
{ {
public: public:
virtual ~Observer() = default;
PY_API virtual void setResolution(uint32_t w, uint32_t h) = 0; PY_API virtual void setResolution(uint32_t w, uint32_t h) = 0;
PY_API virtual void setFocalLength(uint32_t f) = 0; PY_API virtual void setFocalLength(uint32_t f) = 0;
......
...@@ -20,6 +20,8 @@ enum class OperatorId ...@@ -20,6 +20,8 @@ enum class OperatorId
class Operator class Operator
{ {
public: public:
virtual ~Operator() = default;
PY_API virtual voltu::PropertyPtr property(const std::string &name) = 0; PY_API virtual voltu::PropertyPtr property(const std::string &name) = 0;
}; };
......
...@@ -11,6 +11,8 @@ namespace voltu ...@@ -11,6 +11,8 @@ namespace voltu
class Pipeline class Pipeline
{ {
public: public:
virtual ~Pipeline() = default;
PY_API virtual void submit(const voltu::FramePtr &frame) = 0; PY_API virtual void submit(const voltu::FramePtr &frame) = 0;
PY_API virtual bool waitCompletion(int timeout) = 0; PY_API virtual bool waitCompletion(int timeout) = 0;
......
...@@ -19,6 +19,8 @@ typedef unsigned int RoomId; ...@@ -19,6 +19,8 @@ typedef unsigned int RoomId;
class Room class Room
{ {
public: public:
virtual ~Room() = default;
PY_API virtual bool waitNextFrame(int64_t) = 0; PY_API virtual bool waitNextFrame(int64_t) = 0;
PY_API inline bool hasNextFrame() { return waitNextFrame(0); }; PY_API inline bool hasNextFrame() { return waitNextFrame(0); };
......
...@@ -24,6 +24,8 @@ struct Version ...@@ -24,6 +24,8 @@ struct Version
class System class System
{ {
public: public:
virtual ~System() = default;
/** Get the semantic version information. */ /** Get the semantic version information. */
virtual voltu::Version getVersion() const = 0; virtual voltu::Version getVersion() const = 0;
......
...@@ -14,6 +14,8 @@ namespace voltu ...@@ -14,6 +14,8 @@ namespace voltu
class Frame class Frame
{ {
public: public:
virtual ~Frame() = default;
PY_API PY_RV_LIFETIME_PARENT virtual std::list<voltu::ImagePtr> getImageSet(voltu::Channel channel) = 0; PY_API PY_RV_LIFETIME_PARENT virtual std::list<voltu::ImagePtr> getImageSet(voltu::Channel channel) = 0;
PY_API PY_RV_LIFETIME_PARENT virtual voltu::PointCloudPtr getPointCloud(voltu::PointCloudFormat cloudfmt, voltu::PointFormat pointfmt) = 0; PY_API PY_RV_LIFETIME_PARENT virtual voltu::PointCloudPtr getPointCloud(voltu::PointCloudFormat cloudfmt, voltu::PointFormat pointfmt) = 0;
......
...@@ -30,6 +30,8 @@ PY_NO_SHARED_PTR struct ImageData ...@@ -30,6 +30,8 @@ PY_NO_SHARED_PTR struct ImageData
class Image class Image
{ {
public: public:
virtual ~Image() = default;
PY_API PY_RV_LIFETIME_PARENT virtual ImageData getHost() = 0; PY_API PY_RV_LIFETIME_PARENT virtual ImageData getHost() = 0;
virtual ImageData getDevice() = 0; virtual ImageData getDevice() = 0;
......
...@@ -9,6 +9,8 @@ namespace voltu ...@@ -9,6 +9,8 @@ namespace voltu
class Property class Property
{ {
public: public:
virtual ~Property() = default;
PY_API virtual void setInt(int) = 0; PY_API virtual void setInt(int) = 0;
PY_API virtual void setFloat(float) = 0; PY_API virtual void setFloat(float) = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment