std::future<void> connection_fut_;
+std::recursive_mutex mtx;
std::shared_ptr<rpc_proxy::EventSystem> es_proxy_;
class Event : public rpc_proxy::EventSystem::EventListener {
bundle* data,
bool is_trusted) {
try {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
::Connect();
if (!es_proxy_->SendUserEvent(event_name, rpc::Bundle(data, false, false),
const char* event_name, unsigned int* reg_id, int* event_type,
eventsystem_cb callback, void* user_data) {
try {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
std::string name = event_name;
auto ev = std::unique_ptr<rpc_proxy::EventSystem::EventListener>(
new Event(callback, user_data));
}
extern "C" EXPORT_API int eventsystem_application_finalize() {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
if (!es_proxy_) return 0;
es_proxy_.reset();
return 0;
const char* event_name, unsigned int* reg_id, eventsystem_handler callback,
void* user_data) {
try {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
::Connect();
auto ev = std::unique_ptr<rpc_proxy::EventSystem::EventListener>(
}
extern "C" EXPORT_API int eventsystem_unregister_event(unsigned int reg_id) {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
if (es_proxy_ && es_proxy_->GetSizeAsyncEventList() > 0) {
_W("Try unregister on async connecting...");
extern "C" EXPORT_API int eventsystem_send_system_event(const char* event_name,
bundle* data) {
try {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
::Connect();
auto b = rpc::Bundle(data, false, false);
extern "C" EXPORT_API int eventsystem_keep_last_event_data(
const char* event_name) {
try {
+ std::lock_guard<std::recursive_mutex> lock(mtx);
::Connect();
if (!es_proxy_->KeepLastEventData(event_name)) {