diff options
author | Samuel Barney <sbarney@instructure.com> | 2016-07-18 22:39:11 +0200 |
---|---|---|
committer | Samuel Barney <samjbarney@gmail.com> | 2016-08-15 19:13:03 +0200 |
commit | 24e89bbb2c656224d06aed084b952bbc885e3914 (patch) | |
tree | ba75a68cce6ea868acba60ae08efeeccf003736d /src/ChannelCallback.cpp | |
parent | Switch out long download/compile links. (#3278) (diff) | |
download | cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar.gz cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar.bz2 cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar.lz cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar.xz cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.tar.zst cuberite-24e89bbb2c656224d06aed084b952bbc885e3914.zip |
Diffstat (limited to 'src/ChannelCallback.cpp')
-rw-r--r-- | src/ChannelCallback.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/ChannelCallback.cpp b/src/ChannelCallback.cpp new file mode 100644 index 000000000..efa11d69a --- /dev/null +++ b/src/ChannelCallback.cpp @@ -0,0 +1,34 @@ + +// ChannelCallback.cpp + +// Implements the cChannelCallback class representing the callbacks used for plugin channel management + +#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules + +#include "ChannelCallback.h" +#include "ByteBuffer.h" +#include "ClientHandle.h" + +cChannelCallback::cChannelCallback(cPluginLua & a_Plugin, cLuaState::cCallbackPtr & a_Callback) +{ + m_Plugin = &a_Plugin; + m_Callback = std::move(a_Callback); +} + +void cChannelCallback::Call(cClientHandle & a_Handle, const cByteBuffer & a_Data) +{ + cCSLock Lock(m_CSPlugin); + if (m_Callback->IsValid()) + { + m_Callback->Call(a_Handle.GetPlayer(), a_Data); + } +} + + + + + +bool cChannelCallback::BelongsTo(const cPluginLua * a_Plugin) +{ + return (a_Plugin == m_Plugin); +} |