Skip to content

Commit

Permalink
add a value converter
Browse files Browse the repository at this point in the history
  • Loading branch information
Dane Springmeyer committed Mar 8, 2011
1 parent 817ebfc commit 82945f8
Showing 1 changed file with 31 additions and 1 deletion.
32 changes: 31 additions & 1 deletion src/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ struct params_to_object : public boost::static_visitor<>

void operator () ( std::string const& val )
{

ds_->Set(String::NewSymbol(key_.c_str()), String::New(val.c_str()) );
}

Expand All @@ -68,8 +69,37 @@ struct params_to_object : public boost::static_visitor<>

private:
Local<Object>& ds_;
std::string& key_;
std::string key_;
};

struct value_converter: public boost::static_visitor<Local<Value> >
{
Local<Value> operator () ( int val ) const
{
return Integer::New(val);
}

Local<Value> operator () ( double val ) const
{
return Number::New(val);
}

Local<Value> operator () ( std::string const& val ) const
{

return String::New(val.c_str());
}

Local<Value> operator () ( UnicodeString const& val) const
{
std::string buffer;
mapnik::to_utf8(val,buffer);
return String::New(buffer.c_str());
}

Local<Value> operator () ( mapnik::value_null const& val ) const
{
return String::New("");//Undefined();
}
};
#endif

0 comments on commit 82945f8

Please sign in to comment.