void FaceIdFetcher::startGetFaceId(const FaceUri& faceUri) { faceUri.canonize(bind(&FaceIdFetcher::onCanonizeSuccess, this, _1), bind(&FaceIdFetcher::onCanonizeFailure, this, _1), m_face.getIoService(), time::seconds(4)); }
optional<FaceUri> FindFace::canonize(const std::string& fieldName, const FaceUri& input) { if (!FaceUri::canCanonize(input.getScheme())) { NDN_LOG_DEBUG("Using " << fieldName << '=' << input << " without canonization"); return input; } optional<FaceUri> result; input.canonize( [&result] (const FaceUri& canonicalUri) { result = canonicalUri; }, [this, fieldName] (const std::string& errorReason) { m_errorReason = "Error during " + fieldName + " FaceUri canonization: " + errorReason; }, m_ctx.face.getIoService(), m_ctx.getTimeout()); m_ctx.face.processEvents(); return result; }