this->__surfaceCommittedSignal.connect(slot, func);
}
+struct ::wl_resource *DSWaylandSurface::getWlResource()
+{
+ DS_GET_PRIV(DSWaylandSurface);
+
+ return priv->resource()->handle;
+}
+
+static DSWaylandSurfacePrivate *__getPrivatePtrFromWlResource(struct ::wl_resource *resource)
+{
+ auto rsrc = std::remove_pointer<DSWaylandSurfacePrivate>::type::Resource::fromResource(resource);
+ return rsrc ? reinterpret_cast<DSWaylandSurfacePrivate *>(rsrc->object()) : nullptr;
+}
+
+DSWaylandSurface *DSWaylandSurface::fromWlResource(struct ::wl_resource *resource)
+{
+ DSWaylandSurfacePrivate* priv = __getPrivatePtrFromWlResource(resource);
+ return priv->p_func();
+}
+
} /* namespace display_server */
#include "DSSignal.h"
#include "DSWaylandClient.h"
+struct wl_resource;
+
namespace display_server
{
// Callback methods
void registerCallbackSurfaceCommitted(DSObject *slot, std::function<void(std::shared_ptr<DSWaylandSurfaceCommitInfo> commitInfo)> func);
+ struct ::wl_resource *getWlResource();
+ static DSWaylandSurface *fromWlResource(struct ::wl_resource *resource);
+
private:
// signals
DSSignal<std::shared_ptr<DSWaylandSurfaceCommitInfo>> __surfaceCommittedSignal;