bool KeystoreClientImpl::oneShotOperation(KeyPurpose purpose, const std::string& key_name, const AuthorizationSet& input_parameters, const std::string& input_data, const std::string& signature_to_verify, AuthorizationSet* output_parameters, std::string* output_data) { uint64_t handle; auto result = beginOperation(purpose, key_name, input_parameters, output_parameters, &handle); if (!result.isOk()) { ALOGE("BeginOperation failed: %d", int32_t(result)); return false; } AuthorizationSet empty_params; size_t num_input_bytes_consumed; AuthorizationSet ignored_params; result = updateOperation(handle, empty_params, input_data, &num_input_bytes_consumed, &ignored_params, output_data); if (!result.isOk()) { ALOGE("UpdateOperation failed: %d", int32_t(result)); return false; } result = finishOperation(handle, empty_params, signature_to_verify, &ignored_params, output_data); if (!result.isOk()) { ALOGE("FinishOperation failed: %d", int32_t(result)); return false; } return true; }
status_t AudioFilterNode::Connected( const media_source& source, const media_destination& destination, const media_format& format, media_input* outInput) { PRINT(("AudioFilterNode::Connected()\n" "\tto source %ld\n", source.id)); // sanity check if(destination != m_input.destination) { PRINT(("\tbad destination\n")); return B_MEDIA_BAD_DESTINATION; } if(m_input.source != media_source::null) { PRINT(("\talready connected\n")); return B_MEDIA_ALREADY_CONNECTED; } // initialize input m_input.source = source; m_input.format = format; *outInput = m_input; // [re-]initialize operation updateOperation(); return B_OK; }
void SofaMouseManager::updateOperation( MOUSE_BUTTON button, const std::string &id) { //By changing the operation, we delete the previous operation Operation *operation=pickHandler->changeOperation( button, id); updateOperation(operation); }
void SofaMouseManager::updateOperation( sofa::component::configurationsetting::MouseButtonSetting* setting) { //By changing the operation, we delete the previous operation Operation *operation=pickHandler->changeOperation( setting); updateOperation(operation); }
void AudioFilterNode::Connect( status_t status, const media_source& source, const media_destination& destination, const media_format& format, char* ioName) { PRINT(("AudioFilterNode::Connect()\n")); status_t err; #if DEBUG char formatStr[256]; string_for_format(format, formatStr, 255); PRINT(("\tformat: %s\n", formatStr)); #endif // connection failed? if(status < B_OK) { PRINT(("\tCONNECTION FAILED: Status '%s'\n", strerror(status))); // 'unreserve' the output m_output.destination = media_destination::null; return; } // connection established: strncpy(ioName, m_output.name, B_MEDIA_NAME_LENGTH); m_output.destination = destination; // figure downstream latency media_node_id timeSource; err = FindLatencyFor(m_output.destination, &m_downstreamLatency, &timeSource); if(err < B_OK) { PRINT(("\t!!! FindLatencyFor(): %s\n", strerror(err))); } PRINT(("\tdownstream latency = %Ld\n", m_downstreamLatency)); // // prepare the filter // initFilter(); // // // figure processing time // m_processingLatency = calcProcessingLatency(); // PRINT(("\tprocessing latency = %Ld\n", m_processingLatency)); // // // store summed latency // SetEventLatency(m_downstreamLatency + m_processingLatency); // // if(m_input.source != media_source::null) { // // pass new latency upstream // err = SendLatencyChange( // m_input.source, // m_input.destination, // EventLatency() + SchedulingLatency()); // if(err < B_OK) // PRINT(("\t!!! SendLatencyChange(): %s\n", strerror(err))); // } // cache buffer duration SetBufferDuration( buffer_duration( m_output.format.u.raw_audio)); // [re-]initialize operation updateOperation(); // initialize buffer group if necessary updateBufferGroup(); }
void AudioFilterNode::doFormatChange(const media_format &newFormat) { m_output.format = newFormat; updateOperation(); }