summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/component.cpp')
-rw-r--r--Sluift/component.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/Sluift/component.cpp b/Sluift/component.cpp
index df96d43..c1b1da4 100644
--- a/Sluift/component.cpp
+++ b/Sluift/component.cpp
@@ -1,18 +1,16 @@
/*
- * Copyright (c) 2014-2016 Isode Limited.
+ * Copyright (c) 2014-2018 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#include <boost/assign/list_of.hpp>
-#include <boost/lambda/bind.hpp>
-#include <boost/lambda/lambda.hpp>
#include <Swiften/Base/IDGenerator.h>
#include <Swiften/Elements/DiscoInfo.h>
#include <Swiften/Elements/MAMQuery.h>
#include <Swiften/Elements/Message.h>
#include <Swiften/Elements/Presence.h>
#include <Swiften/Elements/RawXMLPayload.h>
#include <Swiften/Elements/RosterItemPayload.h>
#include <Swiften/Elements/RosterPayload.h>
@@ -35,19 +33,18 @@
#include <Sluift/Lua/Check.h>
#include <Sluift/Lua/Exception.h>
#include <Sluift/Lua/FunctionRegistration.h>
#include <Sluift/Lua/LuaUtils.h>
#include <Sluift/Lua/Value.h>
#include <Sluift/SluiftComponent.h>
#include <Sluift/globals.h>
using namespace Swift;
-namespace lambda = boost::lambda;
static inline SluiftComponent* getComponent(lua_State* L) {
return *Lua::checkUserData<SluiftComponent>(L, 1);
}
static inline int getGlobalTimeout(lua_State* L) {
lua_rawgeti(L, LUA_REGISTRYINDEX, Sluift::globals.moduleLibIndex);
lua_getfield(L, -1, "timeout");
int result = boost::numeric_cast<int>(lua_tointeger(L, -1));
@@ -93,25 +90,25 @@ static std::vector< std::shared_ptr<Payload> > getPayloadsFromTable(lua_State* L
}
lua_pop(L, 1);
return result;
}
SLUIFT_LUA_FUNCTION(Component, async_connect) {
SluiftComponent* component = getComponent(L);
std::string host;
- int port = 0;
+ unsigned short port = 0;
if (lua_istable(L, 2)) {
if (boost::optional<std::string> hostString = Lua::getStringField(L, 2, "host")) {
host = *hostString;
}
if (boost::optional<int> portInt = Lua::getIntField(L, 2, "port")) {
- port = *portInt;
+ port = boost::numeric_cast<unsigned short>(*portInt);
}
}
component->connect(host, port);
return 0;
}
SLUIFT_LUA_FUNCTION_WITH_HELP(
Component, set_trace_enabled,
"Enable/disable tracing of the data sent/received.\n\n.",
@@ -427,19 +424,21 @@ SLUIFT_LUA_FUNCTION(Component, get_next_event) {
}
}
boost::optional<SluiftComponent::Event> event;
if (condition) {
event = component->getNextEvent(timeout, CallUnaryLuaPredicateOnEvent(L, condition));
}
else if (type) {
event = component->getNextEvent(
- timeout, lambda::bind(&SluiftComponent::Event::type, lambda::_1) == *type);
+ timeout, [&](const SluiftComponent::Event& event) {
+ return event.type == *type;
+ });
}
else {
event = component->getNextEvent(timeout);
}
if (event) {
pushEvent(L, *event);
}
else {