namespace display_server
{
+
DSWaylandOutputPrivate::DSWaylandOutputPrivate(DSWaylandOutput *p_ptr)
- : DSObjectPrivate(p_ptr)
+ : DSObjectPrivate(p_ptr),
+ __p_ptr(p_ptr)
{
}
+
DSWaylandOutputPrivate::~DSWaylandOutputPrivate()
{
}
}
DSWaylandOutput::DSWaylandOutput()
- : DSObject(std::make_unique<DSWaylandOutputPrivate>(this))
+ : DS_INIT_PRIVATE_PTR(DSWaylandOutput)
{
}
#define _DS_WAYLAND_OUTPUT_H_
#include <DSObject.h>
+#include <DSCore.h>
namespace display_server
{
class DSWaylandOutputPrivate;
-class DSWaylandOutput : public DSObject
+class DS_DECL_EXPORT DSWaylandOutput : public DSObject
{
+DS_PIMPL_USE_PRIVATE(DSWaylandOutput);
+
public:
DSWaylandOutput();
virtual ~DSWaylandOutput();
-
-private:
- inline DSWaylandOutputPrivate *__d_func()
- {
- return reinterpret_cast<DSWaylandOutputPrivate *>(_d_ptr.get());
- }
- inline const DSWaylandOutputPrivate *__d_func() const
- {
- return reinterpret_cast<DSWaylandOutputPrivate *>(_d_ptr.get());
- }
- friend class DSWaylandOutputPrivate;
};
}
namespace display_server
{
-class DSWaylandOutputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_output
+class DS_DECL_EXPORT DSWaylandOutputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_output
{
+DS_PIMPL_USE_PUBLIC(DSWaylandOutput);
+
public:
DSWaylandOutputPrivate() = delete;
DSWaylandOutputPrivate(DSWaylandOutput *p_ptr);
protected:
void output_bind_resource(Resource *resource) override;
void output_release(Resource *resource) override;
+
private:
/* data */
};
TEST_F(DSWaylandOutputTest, NewDSWaylandOutput)
{
DSWaylandOutput *output = new DSWaylandOutput;
- delete output;
- EXPECT_TRUE(true);
+ EXPECT_TRUE(output != nullptr);
+
+ if (output)
+ delete output;
}