Merge lp:~marcustomlinson/unity-js-scopes/lp-1524200 into lp:unity-js-scopes

Proposed by Marcus Tomlinson
Status: Merged
Approved by: Marcus Tomlinson
Approved revision: 118
Merged at revision: 119
Proposed branch: lp:~marcustomlinson/unity-js-scopes/lp-1524200
Merge into: lp:unity-js-scopes
Diff against target: 102 lines (+33/-3)
5 files modified
qtc-templates/scope-js/src/data/displayName-settings.ini.in (+3/-3)
src/bindings/src/addon.cc (+18/-0)
src/bindings/src/common.cc (+7/-0)
src/bindings/src/variant.cc (+4/-0)
src/bindings/src/variant.h (+1/-0)
To merge this branch: bzr merge lp:~marcustomlinson/unity-js-scopes/lp-1524200
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Alexandre Abreu Pending
Review via email: mp+279977@code.launchpad.net

Commit message

Bind both the original Variant class and our bound version in order to support direct and indirect access to variants via the bindings

To post a comment you must log in.
118. By Marcus Tomlinson

Bind both the original Variant class and our bound version in order to support direct and indirect access to variants via the bindings

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

+1

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'qtc-templates/scope-js/src/data/displayName-settings.ini.in'
--- qtc-templates/scope-js/src/data/displayName-settings.ini.in 2015-10-22 05:41:05 +0000
+++ qtc-templates/scope-js/src/data/displayName-settings.ini.in 2015-12-09 07:25:35 +0000
@@ -1,7 +1,7 @@
1@if "%ContentType%" != "empty"1@if "%ContentType%" != "empty"
2# Below are some example settings. You can access your scope's2# Below are some example settings. You can access your scope's settings by
3# settings by calling settings() from the Query::run() method.3# calling scopes.self.settings from anywhere in your scope implementation.
4# E.g. auto location = settings().at("location").get_string();4# E.g. var location = scopes.self.settings["location"].get_string();
55
6#[location]6#[location]
7#type = string7#type = string
88
=== modified file 'src/bindings/src/addon.cc'
--- src/bindings/src/addon.cc 2015-11-20 12:10:10 +0000
+++ src/bindings/src/addon.cc 2015-12-09 07:25:35 +0000
@@ -89,6 +89,7 @@
89 variant89 variant
90 .set_constructor<v8::Local<v8::Value>>()90 .set_constructor<v8::Local<v8::Value>>()
91 .add_method("get_int", &Variant::get_int)91 .add_method("get_int", &Variant::get_int)
92 .add_method("get_int64_t", &Variant::get_int64_t)
92 .add_method("get_double", &Variant::get_double)93 .add_method("get_double", &Variant::get_double)
93 .add_method("get_bool", &Variant::get_bool)94 .add_method("get_bool", &Variant::get_bool)
94 .add_method("get_string", &Variant::get_string)95 .add_method("get_string", &Variant::get_string)
@@ -98,6 +99,22 @@
98 .add_method("which", &Variant::which)99 .add_method("which", &Variant::which)
99 .add_method("serialize_json", &Variant::serialize_json);100 .add_method("serialize_json", &Variant::serialize_json);
100101
102 // Also bind the original Variant class for direct access (E.g. via settings)
103 v8cpp::Class<unity::scopes::Variant> variant_base(isolate);
104 variant_base
105 .add_method("get_int", &unity::scopes::Variant::get_int)
106 .add_method("get_int64_t", &unity::scopes::Variant::get_int64_t)
107 .add_method("get_double", &unity::scopes::Variant::get_double)
108 .add_method("get_bool", &unity::scopes::Variant::get_bool)
109 .add_method("get_string", &unity::scopes::Variant::get_string)
110 .add_method("get_dict", &unity::scopes::Variant::get_dict)
111 .add_method("get_array", &unity::scopes::Variant::get_array)
112 .add_method("is_null", &unity::scopes::Variant::is_null)
113 //.add_method("which", &unity::scopes::Variant::which)
114 .add_method("serialize_json", &unity::scopes::Variant::serialize_json)
115 .add_method("deserialize_json", &unity::scopes::Variant::deserialize_json);
116
117
101 v8cpp::Class<JavascriptScopeRuntime> js_scope(isolate);118 v8cpp::Class<JavascriptScopeRuntime> js_scope(isolate);
102 js_scope119 js_scope
103 .add_method("scope_base", &JavascriptScopeRuntime::scope_base)120 .add_method("scope_base", &JavascriptScopeRuntime::scope_base)
@@ -454,6 +471,7 @@
454 module.add_class("SearchQuery", search_query);471 module.add_class("SearchQuery", search_query);
455 module.add_class("SearchMetadata", search_metadata);472 module.add_class("SearchMetadata", search_metadata);
456 module.add_class("Variant", variant);473 module.add_class("Variant", variant);
474 module.add_class("VariantBase", variant_base);
457475
458 // Factory functions476 // Factory functions
459 module.add_function("new_scope", &new_scope);477 module.add_function("new_scope", &new_scope);
460478
=== modified file 'src/bindings/src/common.cc'
--- src/bindings/src/common.cc 2015-10-08 14:02:02 +0000
+++ src/bindings/src/common.cc 2015-12-09 07:25:35 +0000
@@ -71,6 +71,13 @@
7171
72unity::scopes::Variant unity::scopesjs::to_variant(72unity::scopes::Variant unity::scopesjs::to_variant(
73 v8::Local<v8::Value> value) {73 v8::Local<v8::Value> value) {
74 try
75 {
76 // Check first that the value recieved is not already a unity::scopes::Variant
77 return v8cpp::from_v8<unity::scopes::Variant>(v8::Isolate::GetCurrent(), value);
78 }
79 catch (std::exception const&) {}
80
74 using unity::scopes::Variant;81 using unity::scopes::Variant;
75 using unity::scopes::VariantArray;82 using unity::scopes::VariantArray;
76 using unity::scopes::VariantMap;83 using unity::scopes::VariantMap;
7784
=== modified file 'src/bindings/src/variant.cc'
--- src/bindings/src/variant.cc 2015-10-19 20:21:29 +0000
+++ src/bindings/src/variant.cc 2015-12-09 07:25:35 +0000
@@ -64,6 +64,10 @@
64 return variant_->get_int();64 return variant_->get_int();
65}65}
6666
67int64_t Variant::get_int64_t() const {
68 return variant_->get_int64_t();
69}
70
67double Variant::get_double() const {71double Variant::get_double() const {
68 return variant_->get_double();72 return variant_->get_double();
69}73}
7074
=== modified file 'src/bindings/src/variant.h'
--- src/bindings/src/variant.h 2015-10-19 20:21:29 +0000
+++ src/bindings/src/variant.h 2015-12-09 07:25:35 +0000
@@ -37,6 +37,7 @@
37 // v8 bindings37 // v8 bindings
38 std::string serialize_json() const;38 std::string serialize_json() const;
39 int get_int() const;39 int get_int() const;
40 int64_t get_int64_t() const;
40 double get_double() const;41 double get_double() const;
41 bool get_bool() const;42 bool get_bool() const;
42 std::string get_string() const;43 std::string get_string() const;

Subscribers

People subscribed via source and target branches

to all changes: