diff options
Diffstat (limited to 'Sluift/ElementConvertors/RawXMLElementConvertor.cpp')
| -rw-r--r-- | Sluift/ElementConvertors/RawXMLElementConvertor.cpp | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/Sluift/ElementConvertors/RawXMLElementConvertor.cpp b/Sluift/ElementConvertors/RawXMLElementConvertor.cpp index 35a53ca..e4cfe05 100644 --- a/Sluift/ElementConvertors/RawXMLElementConvertor.cpp +++ b/Sluift/ElementConvertors/RawXMLElementConvertor.cpp @@ -22,14 +22,18 @@ RawXMLElementConvertor::RawXMLElementConvertor() {  RawXMLElementConvertor::~RawXMLElementConvertor() {  } -boost::shared_ptr<Payload> RawXMLElementConvertor::convertFromLua(lua_State* L, int index, const std::string& type) { +boost::shared_ptr<Element> RawXMLElementConvertor::convertFromLua(lua_State* L, int index, const std::string& type) {  	if (type == "xml") {  		return boost::make_shared<RawXMLPayload>(std::string(Lua::checkString(L, index)));  	}  	return boost::shared_ptr<Payload>();  } -boost::optional<std::string> RawXMLElementConvertor::convertToLua(lua_State* L, boost::shared_ptr<Payload> payload) { +boost::optional<std::string> RawXMLElementConvertor::convertToLua(lua_State* L, boost::shared_ptr<Element> element) { +	boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(element); +	if (!payload) { +		return boost::optional<std::string>(); +	}  	PayloadSerializer* serializer = serializers.getPayloadSerializer(payload);  	assert(serializer);  	lua_pushstring(L, serializer->serialize(payload).c_str()); | 
 Swift
 Swift