MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / save_file_field

Method save_file_field

rust/src/interaction.rs:379–417  ·  view source on GitHub ↗

Form Field: Prompt for file to save to

(
        mut self,
        prompt: &str,
        ext: Option<&str>,
        default_name: Option<&str>,
        default: Option<&str>,
    )

Source from the content-addressed store, hash-verified

377
378 /// Form Field: Prompt for file to save to
379 pub fn save_file_field(
380 mut self,
381 prompt: &str,
382 ext: Option<&str>,
383 default_name: Option<&str>,
384 default: Option<&str>,
385 ) -> Self {
386 let prompt = BnString::new(prompt);
387 let ext = if let Some(ext) = ext {
388 BnString::new(ext)
389 } else {
390 BnString::new("")
391 };
392 let default_name = if let Some(default_name) = default_name {
393 BnString::new(default_name)
394 } else {
395 BnString::new("")
396 };
397 let default = default.map(BnString::new);
398
399 let mut result = unsafe { std::mem::zeroed::<BNFormInputField>() };
400 result.type_ = BNFormInputFieldType::SaveFileNameFormField;
401 result.prompt = prompt.as_ref().as_ptr() as *const c_char;
402 result.ext = ext.as_ref().as_ptr() as *const c_char;
403 result.defaultName = default_name.as_ref().as_ptr() as *const c_char;
404 result.hasDefault = default.is_some();
405 if let Some(ref default) = default {
406 result.stringDefault = default.as_ref().as_ptr() as *const c_char;
407 }
408 self.fields.push(result);
409
410 self.data.push(FormData::FileSave {
411 _prompt: prompt,
412 _ext: ext,
413 _default_name: default_name,
414 _default: default,
415 });
416 self
417 }
418
419 /// Form Field: Prompt for directory name
420 pub fn directory_name_field(

Callers 1

present_formFunction · 0.80

Calls 3

mapMethod · 0.80
as_refMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected