    const vx::SharedFunPtr<void(const QSharedPointer<ResultError>& result)>&
        fun) {
  onFinished(obj, [fun](const QSharedPointer<ResultError>& result) {
    if (result) fun(result);
  });
}
void Operation::onFinishedSuccess(QObject* obj,
                                  const vx::SharedFunPtr<void()>& fun) {
  onFinished(obj, [fun](const QSharedPointer<ResultError>& result) {
    if (!result) fun();
  });
}