X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Fserializer.cc;h=7b7596d7b3eb99c8054df4a62250fac5eb66746f;hp=e2f77340e5481b0269b681477215c6e05f197cbf;hb=838bc00015eb7f583c7cf4b3b1007697bf047da1;hpb=79b5f738f2e38acb60cda7e09f54802933a17105 diff --git a/src/serializer.cc b/src/serializer.cc index e2f7734..7b7596d 100644 --- a/src/serializer.cc +++ b/src/serializer.cc @@ -37,7 +37,7 @@ namespace dc { -class serializer_impl +class serializer::serializer_impl { public: serializer_impl(const std::string& filePath, const std::string& indent = "") @@ -65,13 +65,15 @@ public: switch (err) { case yajl_gen_generation_complete: - throw serializer::generator_error("the archive has already terminated"); + throw serializer::exception("the archive has already terminated"); case yajl_gen_keys_must_be_strings: - throw serializer::generator_error("map keys must be strings"); + throw serializer::exception("map keys must be strings"); case yajl_max_depth_exceeded: - throw serializer::generator_error("maximum archive depth exceeded"); + throw serializer::exception("maximum archive depth exceeded"); case yajl_gen_in_error_state: - throw serializer::generator_error("serializer already in error state"); + throw serializer::exception("serializer already in error state"); + case yajl_gen_status_ok: + ; // There is no error here. Move along... } } @@ -105,10 +107,12 @@ private: serializer::serializer(const std::string& filePath, const std::string& indent) : - impl(new serializer_impl(filePath, indent)) {} + // pass through + impl(new serializer::serializer_impl(filePath, indent)) {} serializer::serializer(std::ostream& output, const std::string& indent) : - impl(new serializer_impl(output, indent)) {} + // pass through + impl(new serializer::serializer_impl(output, indent)) {} serializer::~serializer() { @@ -119,26 +123,30 @@ serializer::~serializer() void serializer::push(long value) { yajl_gen_status stat = yajl_gen_integer(impl->gen, value); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::push(double value) { yajl_gen_status stat = yajl_gen_double(impl->gen, value); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::push(bool value) { yajl_gen_status stat = yajl_gen_bool(impl->gen, value); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::push(const std::string& value) { yajl_gen_status stat = yajl_gen_string(impl->gen, (const unsigned char*)value.c_str(), value.length()); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::push(const std::wstring& value) @@ -149,32 +157,37 @@ void serializer::push(const std::wstring& value) void serializer::pushNull() { yajl_gen_status stat = yajl_gen_null(impl->gen); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::pushMapHead() { yajl_gen_status stat = yajl_gen_map_open(impl->gen); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::pushMapTail() { yajl_gen_status stat = yajl_gen_map_close(impl->gen); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::pushArrayHead() { yajl_gen_status stat = yajl_gen_array_open(impl->gen); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } void serializer::pushArrayTail() { yajl_gen_status stat = yajl_gen_array_close(impl->gen); - if (stat != yajl_gen_status_ok) serializer_impl::throwError(stat); + if (stat != yajl_gen_status_ok) + serializer::serializer_impl::throwError(stat); } @@ -191,3 +204,5 @@ void serializer::flush() } // namespace dc +/** vim: set ts=4 sw=4 tw=80: *************************************************/ +