accept options object argument to new mbgl.Map()

instead of requiring inheritence, drops mbgl.FileSource

pass NodeFileSource* around as v8::External
This commit is contained in:
Mike Morris
2015-07-24 16:27:23 -04:00
parent 396fcc8b8c
commit 99ba07deb3
12 changed files with 126 additions and 188 deletions

View File

@@ -19,19 +19,9 @@ namespace node_mbgl {
namespace util { template <typename T> class AsyncQueue; }
class NodeFileSource : public node::ObjectWrap, public mbgl::FileSource {
////////////////////////////////////////////////////////////////////////////////////////////////
// Static Node Methods
class NodeFileSource : public mbgl::FileSource {
public:
static void Init(v8::Handle<v8::Object> target);
static NAN_METHOD(New);
static v8::Persistent<v8::FunctionTemplate> constructorTemplate;
////////////////////////////////////////////////////////////////////////////////////////////////
// Instance
public:
NodeFileSource();
NodeFileSource(v8::Handle<v8::Object>);
~NodeFileSource();
mbgl::Request* request(const mbgl::Resource&, uv_loop_t*, Callback);
@@ -47,6 +37,8 @@ private:
void processAdd(const mbgl::Resource&);
void processCancel(const mbgl::Resource&);
v8::Persistent<v8::Object> options;
private:
#if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION)
std::unordered_map<mbgl::Resource, v8::Persistent<v8::Object, v8::CopyablePersistentTraits<v8::Object>>, mbgl::Resource::Hash> pending;