1 
2 // This is brl/bpro/core/bbas_pro/processes/bbas_remove_from_db_process.cxx
3 #include <iostream>
4 #include <fstream>
5 #include <bprb/bprb_func_process.h>
6 #include <bprb/bprb_batch_process_manager.h>
7 //:
8 // \file
9 
10 #ifdef _MSC_VER
11 #  include "vcl_msvc_warnings.h"
12 #endif
13 
14 //: Constructor
bbas_remove_from_db_process_cons(bprb_func_process & pro)15 bool bbas_remove_from_db_process_cons(bprb_func_process& pro)
16 {
17   //input
18   bool ok=false;
19   std::vector<std::string> input_types;
20   input_types.emplace_back("unsigned"); // databse id to be removed
21   ok = pro.set_input_types(input_types);
22   if (!ok) return ok;
23 
24   //output
25   std::vector<std::string> output_types; // no outputs
26   ok = pro.set_output_types(output_types);
27   if (!ok) return ok;
28   return true;
29 }
30 
31 //: Execute the process
bbas_remove_from_db_process(bprb_func_process & pro)32 bool bbas_remove_from_db_process(bprb_func_process& pro)
33 {
34   // Sanity check
35   if (pro.n_inputs()<1) {
36     std::cout << "bbas_remove_from_db_process: The input number should be 1" << std::endl;
37     return false;
38   }
39   // get the inputs
40   auto db_id = pro.get_input<unsigned>(0);
41   bprb_batch_process_manager::instance()->remove_data(db_id);
42   return true;
43 }
44