void UploadQueue::processEvent(const SyncEvent* _event) { Backend *backend = BackendManager::getActiveBackend(); if(backend == nullptr) { LOG(DEBUG)<<"No active backend"; return; } //accessing _event->node is dangerous it may be deleted from main thread! switch (_event->type) { case SyncEventType::DELETE: if(!checkEventValidity(*_event)) break; LOG(DEBUG)<<"Event:DELETE fullpath:"<<_event->fullPathBuffer; backend->remove(_event); break; case SyncEventType::RENAME: if(!checkEventValidity(*_event)) break; //LOG(DEBUG)<<"Event:RENAME from:"<<_event->fullPathBuffer<<" to:"<<_event->node->getFullPath(); backend->move(_event); break; case SyncEventType::UPDATE_CONTENT: if(!checkEventValidity(*_event)) break; //log_msg("Event:UPDATE_CONTENT file:%s\n",_event->node->getFullPath().c_str()); backend->put(_event); break; case SyncEventType::UPDATE_METADATA: if(!checkEventValidity(*_event)) break; //log_msg("Event:UPDATE_METADATA file:%s\n",_event->node->getFullPath().c_str()); backend->put_metadata(_event); break; default: LOG(ERROR)<<"INVALID Event: file:"<<_event->fullPathBuffer<<" TYPE:"<< SyncEvent::getEnumString(_event->type); } }