summaryrefslogtreecommitdiff
path: root/src/XmlRpcDiskWriter.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-11 21:09:51 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-11 21:09:51 +0900
commit7c06b903f3493db95fcf4bd42cccc59e3b4d0692 (patch)
treef10a85795bb086e0b257a0e6c6c5ffb05f28f344 /src/XmlRpcDiskWriter.cc
parent7a57ecc5f814dc305e5e4b9bd960d69b43870c0e (diff)
Use std::unique_ptr for ValueBase object hierarchy
Diffstat (limited to 'src/XmlRpcDiskWriter.cc')
-rw-r--r--src/XmlRpcDiskWriter.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/XmlRpcDiskWriter.cc b/src/XmlRpcDiskWriter.cc
index 9aabd3cc..bfa8a92c 100644
--- a/src/XmlRpcDiskWriter.cc
+++ b/src/XmlRpcDiskWriter.cc
@@ -65,15 +65,15 @@ int XmlRpcDiskWriter::finalize()
return parser_.parseFinal(0, 0);
}
-RpcRequest XmlRpcDiskWriter::getResult() const
+RpcRequest XmlRpcDiskWriter::getResult()
{
- std::shared_ptr<List> params;
+ std::unique_ptr<List> params;
if(downcast<List>(psm_.getCurrentFrameValue())) {
- params = std::static_pointer_cast<List>(psm_.getCurrentFrameValue());
+ params.reset(static_cast<List*>(psm_.popCurrentFrameValue().release()));
} else {
params = List::g();
}
- return RpcRequest(psm_.getMethodName(), params);
+ return RpcRequest{psm_.getMethodName(), std::move(params)};
}
int XmlRpcDiskWriter::reset()