summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author <philippe colliot>2016-03-15 14:32:31 +0100
committer <philippe colliot>2016-03-15 14:32:31 +0100
commitd6dc8b51d7b9e7b15af4a22b976da7323aa7a170 (patch)
tree0f79f45714b4de6eba5004acbfa48873781848a8
parentf1944b8a19061fd230106c9ae68e003ed09ecf86 (diff)
downloadpoi-service-d6dc8b51d7b9e7b15af4a22b976da7323aa7a170.tar.gz
Connection to DBus OK, tested with navigation middleware
-rw-r--r--test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.cpp38
-rw-r--r--test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.hpp3
-rw-r--r--test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/binding.gyp2
-rw-r--r--test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.cpp48
-rw-r--r--test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.hpp31
5 files changed, 45 insertions, 77 deletions
diff --git a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.cpp b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.cpp
index adc0f45..3c4c887 100644
--- a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.cpp
+++ b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.cpp
@@ -5,8 +5,6 @@
using namespace v8;
using namespace std;
-static DBus::Glib::BusDispatcher dispatcher;
-static DBus::Connection *connection;
Persistent<FunctionTemplate> NavigationCoreConfigurationWrapper::constructor;
@@ -52,6 +50,9 @@ void NavigationCoreConfigurationWrapper::Init(Handle<Object> target) {
NavigationCoreConfigurationWrapper::NavigationCoreConfigurationWrapper() {
}
+NavigationCoreConfigurationWrapper::~NavigationCoreConfigurationWrapper() {
+}
+
Handle<Value> NavigationCoreConfigurationWrapper::New(const Arguments& args) {
HandleScope scope;
@@ -60,12 +61,7 @@ Handle<Value> NavigationCoreConfigurationWrapper::New(const Arguments& args) {
String::New("Use the new operator to create instances of this object."))
);
}
- dispatcher.attach(NULL);
- DBus::default_dispatcher = &dispatcher;
- connection = new DBus::Connection(DBus::Connection::SessionBus());
- connection->setup(&dispatcher);
- NavigationCoreConfigurationProxy* proxy = new NavigationCoreConfigurationProxy(*connection);
-
+ NavigationCoreProxy* proxy = new NavigationCoreProxy();
// Creates a new instance object of this type and wraps it.
NavigationCoreConfigurationWrapper* obj = new NavigationCoreConfigurationWrapper();
@@ -91,8 +87,8 @@ Handle<Value> NavigationCoreConfigurationWrapper::GetProperty(const Arguments& a
NavigationCoreConfigurationWrapper* obj = ObjectWrap::Unwrap<NavigationCoreConfigurationWrapper>(args.This());
Local<Object> ret = Object::New();
-
- Locale localeValue = obj->mp_proxy->GetLocale();
+ Locale localeValue;
+ obj->mp_proxy->mp_configurationProxy->GetLocale(localeValue.languageCode,localeValue.countryCode,localeValue.scriptCode);
ret->Set( 0, String::New(propertyName.c_str()) );
ret->Set( 1, String::New(localeValue.languageCode.c_str()) );
ret->Set( 2, String::New(localeValue.countryCode.c_str()) );
@@ -154,7 +150,7 @@ Handle<Value> NavigationCoreConfigurationWrapper::SetProperty(const Arguments& a
// Retrieves the pointer to the wrapped object instance.
NavigationCoreConfigurationWrapper* obj = ObjectWrap::Unwrap<NavigationCoreConfigurationWrapper>(args.This());
- obj->mp_proxy->SetLocale(localeValue);
+ obj->mp_proxy->mp_configurationProxy->SetLocale(localeValue.languageCode,localeValue.countryCode,localeValue.scriptCode);
Handle<Value> callBackValue = property_obj->Get(String::New("callBack"));
@@ -176,13 +172,13 @@ Handle<Value> NavigationCoreConfigurationWrapper::GetVersion(const Arguments& ar
// Retrieves the pointer to the wrapped object instance.
NavigationCoreConfigurationWrapper* obj = ObjectWrap::Unwrap<NavigationCoreConfigurationWrapper>(args.This());
- Version version = obj->mp_proxy->GetVersion();
+ ::DBus::Struct< uint16_t, uint16_t, uint16_t, std::string > DBus_version = obj->mp_proxy->mp_configurationProxy->GetVersion();
Local<Object> ret = Object::New();
- ret->Set( 0, Int32::New(version.versionMajor) );
- ret->Set( 1, Int32::New(version.versionMinor) );
- ret->Set( 2, Int32::New(version.versionMicro) );
- ret->Set( 3, String::New(version.date.c_str()) );
+ ret->Set( 0, Int32::New(DBus_version._1) );
+ ret->Set( 1, Int32::New(DBus_version._2) );
+ ret->Set( 2, Int32::New(DBus_version._3) );
+ ret->Set( 3, String::New(DBus_version._4.c_str()) );
return scope.Close(ret);
}
@@ -193,15 +189,15 @@ Handle<Value> NavigationCoreConfigurationWrapper::GetSupportedLocales(const Argu
// Retrieves the pointer to the wrapped object instance.
NavigationCoreConfigurationWrapper* obj = ObjectWrap::Unwrap<NavigationCoreConfigurationWrapper>(args.This());
- std::vector<Locale > localeList = obj->mp_proxy->GetSupportedLocales();
+ std::vector< ::DBus::Struct< std::string, std::string, std::string > > localeList = obj->mp_proxy->mp_configurationProxy->GetSupportedLocales();
Local<Array> ret = Array::New();
for (unsigned i=0;i<localeList.size();i++)
{
Local<Object> data = Object::New();
- data->Set( 0, String::New(localeList.at(i).languageCode.c_str()) );
- data->Set( 1, String::New(localeList.at(i).countryCode.c_str()) );
- data->Set( 2, String::New(localeList.at(i).scriptCode.c_str()) );
+ data->Set( 0, String::New(localeList.at(i)._1.c_str()) );
+ data->Set( 1, String::New(localeList.at(i)._2.c_str()) );
+ data->Set( 2, String::New(localeList.at(i)._3.c_str()) );
ret->Set(ret->Length(), data);
}
@@ -215,7 +211,7 @@ Handle<Value> NavigationCoreConfigurationWrapper::GetUnitsOfMeasurement(const Ar
// Retrieves the pointer to the wrapped object instance.
NavigationCoreConfigurationWrapper* obj = ObjectWrap::Unwrap<NavigationCoreConfigurationWrapper>(args.This());
- NavigationCoreConfigurationProxy::UnitsOfMeasurement unitsOfMeasurement = obj->mp_proxy->GetUnitsOfMeasurement();
+ NavigationCoreConfigurationProxy::UnitsOfMeasurement unitsOfMeasurement = obj->mp_proxy->mp_configurationProxy->GetUnitsOfMeasurement();
Local<Array> ret = Array::New();
for (NavigationCoreConfigurationProxy::UnitsOfMeasurement::iterator iter = unitsOfMeasurement.begin(); iter != unitsOfMeasurement.end(); iter++) {
diff --git a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.hpp b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.hpp
index b519a83..82d98d2 100644
--- a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.hpp
+++ b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/NavigationCoreConfigurationWrapper.hpp
@@ -24,6 +24,7 @@ public:
protected:
NavigationCoreConfigurationWrapper();
+ ~NavigationCoreConfigurationWrapper();
static v8::Handle<v8::Value> New(const v8::Arguments& args);
static v8::Handle<v8::Value> GetVersion(const v8::Arguments& args);
@@ -37,7 +38,7 @@ protected:
private:
- NavigationCoreConfigurationProxy* mp_proxy;
+ NavigationCoreProxy* mp_proxy;
};
#endif
diff --git a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/binding.gyp b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/binding.gyp
index 366c241..9d230bb 100644
--- a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/binding.gyp
+++ b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/binding.gyp
@@ -6,7 +6,7 @@
'type': 'shared_library',
'sources': [ './dbus-proxies/NavigationCoreConfigurationProxy.cpp' ],
'include_dirs': ['./','/usr/include/dbus-c++-1/','/usr/include/glib-2.0/','/usr/lib/i386-linux-gnu/glib-2.0/include/'],
- 'cflags_cc': ['-Wall', '-std=gnu++11', '-fexceptions'],
+ 'cflags_cc': ['-Wall', '-std=gnu++11', '-fexceptions','-fPIC'],
'libraries': ['-ldbus-c++-1 -ldbus-1 -ldbus-c++-glib-1', '-L/usr/lib/i386-linux-gnu/']
},
{
diff --git a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.cpp b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.cpp
index 8023e55..c5ce609 100644
--- a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.cpp
+++ b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.cpp
@@ -5,19 +5,14 @@
using namespace v8;
using namespace std;
+static DBus::Glib::BusDispatcher *dispatcher;
+static DBus::Connection *connection;
+
NavigationCoreConfigurationProxy::NavigationCoreConfigurationProxy(DBus::Connection &connection)
: DBus::ObjectProxy(connection,
- "/org/genivi/navigationcore/Configuration",
+ "/org/genivi/navigationcore",
"org.genivi.navigationcore.Configuration")
{
- Locale en_US { "eng","USA", "Latn" };
- Locale de_DE { "deu","DEU", "Latn" };
- Locale fr_FR { "fra","FRA", "Latn" };
- Locale jp_JP { "jpn","JPN", "Hrkt" };
- m_locale_list.push_back(en_US);
- m_locale_list.push_back(de_DE);
- m_locale_list.push_back(fr_FR);
-// m_locale_list.push_back(jp_JP); //For the test Japanese is not supported
UnitsOfMeasurementValueStruct value {intValue,METER};
@@ -29,34 +24,23 @@ void NavigationCoreConfigurationProxy::ConfigurationChanged(const std::vector< i
}
-Version NavigationCoreConfigurationProxy::GetVersion()
-{
- ::DBus::Struct< uint16_t, uint16_t, uint16_t, std::string > DBus_version;
- Version version;
- DBus_version = Configuration_proxy::GetVersion();
- version.versionMajor = DBus_version._1;
- version.versionMinor = DBus_version._2;
- version.versionMicro = DBus_version._3;
- version.date = DBus_version._4;
- return version;
-}
-
-Locale NavigationCoreConfigurationProxy::GetLocale()
-{
- return m_locale;
-}
-std::vector<Locale > NavigationCoreConfigurationProxy::GetSupportedLocales()
+NavigationCoreConfigurationProxy::UnitsOfMeasurement NavigationCoreConfigurationProxy::GetUnitsOfMeasurement()
{
- return m_locale_list;
+ return m_units_of_measurement;
}
-void NavigationCoreConfigurationProxy::SetLocale(Locale& locale)
+NavigationCoreProxy::NavigationCoreProxy()
{
- m_locale = locale;
+ dispatcher = new DBus::Glib::BusDispatcher();
+ DBus::default_dispatcher = dispatcher;
+ dispatcher->attach(NULL);
+ connection = new DBus::Connection(DBus::Connection::SessionBus());
+ connection->setup(dispatcher);
+ mp_configurationProxy = new NavigationCoreConfigurationProxy(*connection);
}
-NavigationCoreConfigurationProxy::UnitsOfMeasurement NavigationCoreConfigurationProxy::GetUnitsOfMeasurement()
+NavigationCoreProxy::~NavigationCoreProxy()
{
- return m_units_of_measurement;
+ delete connection;
+ delete dispatcher;
}
-
diff --git a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.hpp b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.hpp
index 3a08929..9f976e1 100644
--- a/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.hpp
+++ b/test/navigation/w3c/socket-based-poc/node-cpp-lbs-modules/dbus-proxies/NavigationCoreConfigurationProxy.hpp
@@ -17,20 +17,6 @@
// header file.
// using namespace v8;
-class Version {
-public:
- Version() {
- versionMajor = 1;
- versionMinor = 0;
- versionMicro = 0;
- date = "19:02:2016";
- }
- uint16_t versionMajor;
- uint16_t versionMinor;
- uint16_t versionMicro;
- std::string date;
-};
-
class Locale {
public:
Locale() {
@@ -87,18 +73,19 @@ public:
NavigationCoreConfigurationProxy(DBus::Connection &connection);
void ConfigurationChanged(const std::vector< int32_t >& changedSettings);
- Version GetVersion();
- Locale GetLocale();
- std::vector<Locale > GetSupportedLocales();
- void SetLocale(Locale& locale);
UnitsOfMeasurement GetUnitsOfMeasurement();
-public:
private:
- Version m_version;
- Locale m_locale;
- std::vector<Locale > m_locale_list;
UnitsOfMeasurement m_units_of_measurement;
};
+class NavigationCoreProxy
+{
+public:
+ NavigationCoreProxy();
+ ~NavigationCoreProxy();
+
+ NavigationCoreConfigurationProxy* mp_configurationProxy;
+};
+
#endif