Use protected default constructors/destructors to hide them from SWIG

This commit is contained in:
baldurk
2017-03-28 20:01:48 +01:00
parent 694d7b6c7b
commit 2de280d494
2 changed files with 16 additions and 6 deletions
-6
View File
@@ -60,12 +60,6 @@ CONTAINER_TYPEMAPS(rdctype::array)
%ignore rdctype::str::operator=;
%ignore rdctype::str::operator const char *;
// SWIG generates destructor wrappers for these interfaces that we don't want
%ignore IReplayOutput::~IReplayOutput();
%ignore IReplayRenderer::~IReplayRenderer();
%ignore ITargetControl::~ITargetControl();
%ignore IRemoteServer::~IRemoteServer();
// add __str__ functions
%feature("python:tp_str") ResourceId "resid_str";
+16
View File
@@ -195,6 +195,10 @@ struct IReplayOutput
virtual bool PickPixel(ResourceId texID, bool customShader, uint32_t x, uint32_t y,
uint32_t sliceFace, uint32_t mip, uint32_t sample, PixelValue *val) = 0;
virtual uint32_t PickVertex(uint32_t eventID, uint32_t x, uint32_t y, uint32_t *pickedInstance) = 0;
protected:
IReplayOutput() = default;
~IReplayOutput() = default;
};
struct IReplayRenderer
@@ -265,6 +269,10 @@ struct IReplayRenderer
rdctype::array<byte> *data) = 0;
virtual bool GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mip,
rdctype::array<byte> *data) = 0;
protected:
IReplayRenderer() = default;
~IReplayRenderer() = default;
};
DECLARE_REFLECTION_STRUCT(IReplayRenderer);
@@ -286,6 +294,10 @@ struct ITargetControl
virtual void DeleteCapture(uint32_t remoteID) = 0;
virtual void ReceiveMessage(TargetControlMessage *msg) = 0;
protected:
ITargetControl() = default;
~ITargetControl() = default;
};
struct IRemoteServer
@@ -313,6 +325,10 @@ struct IRemoteServer
virtual ReplayStatus OpenCapture(uint32_t proxyid, const char *logfile, float *progress,
IReplayRenderer **rend) = 0;
virtual void CloseCapture(IReplayRenderer *rend) = 0;
protected:
IRemoteServer() = default;
~IRemoteServer() = default;
};
//////////////////////////////////////////////////////////////////////////