Skip to content

Commit 7bebd50

Browse files
committed
shutdown from dbus signal
1 parent a511dac commit 7bebd50

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

mazda/main.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,23 @@ static void gps_thread_func(std::condition_variable& quitcv, std::mutex& quitmut
169169
mzd_gps2_stop();
170170
}
171171

172+
class BLMSystemClient : public com::jci::blmsystem::Interface_proxy, public DBus::ObjectProxy {
173+
public:
174+
BLMSystemClient(DBus::Connection &connection, const char *path, const char *name) : DBus::ObjectProxy(connection, path, name) {}
172175

176+
virtual void NotifyStateTransition(const uint32_t &current_state, const uint32_t &target_state) override {}
173177

178+
virtual void NotifyShutdown(const uint32_t &generic_reboot_flags) override {}
179+
180+
virtual void NotifyAccChange(const int32_t &acc_state, const uint32_t &system_state) override {}
181+
182+
virtual void NotifySystemStateChange(const uint32_t &old_state, const uint32_t &current_state) {
183+
if(current_state >= 4){
184+
logd("Got Shutdown Signal\n");
185+
g_main_loop_quit(gst_app.loop);
186+
}
187+
}
188+
};
174189

175190
int main (int argc, char *argv[])
176191
{
@@ -226,6 +241,7 @@ int main (int argc, char *argv[])
226241
serviceBus.register_bus();
227242

228243
std::thread wireless_handle(wireless_thread);
244+
static BLMSystemClient *blmsystem_client = new BLMSystemClient(serviceBus, "/com/jci/blm/system", "com.jci.blmsystem.Interface");
229245

230246
hud_start();
231247

0 commit comments

Comments
 (0)