CARMA C++
PDB_Script.h
1 /*
2  * CARMA Project Database Script/Catalog Functionality
3  */
4 
5 #ifndef PDB_SCRIPT_H
6 #define PDB_SCRIPT_H
7 
8 #include <carma/observertools/ProjectDatabaseManagerImpl.h>
9 #include <carma/observertools/ProjectDatabaseManager.h>
10 #include <carma/observertools/PDB_MongoDB.h>
11 
12 namespace carma {
13 namespace observertools {
14 
15 struct PDB_Script_Params {
16  std::string projectID;
17  std::string obsblockID;
18  std::string subObsblockID;
19 };
20 
21 struct PDB_Script_Return {
22  std::string script;
23  std::string catalog;
24 };
25 
26 class PDB_Script {
27 public:
28  PDB_Script(const PDB_DB_Params &db, const PDB_Script_Params &params);
29  void put(const std::string &scriptFile, const std::string &catalogFile, const short trialID) const;
30  PDB_Script_Return get() const;
31 
32  mongo::BSONObj getScriptObject(const std::string &scriptFile, const std::string &catalogFile, const short trialID) const;
33  short findLastTrialID() const;
34 
35 private:
36  const PDB_DB_Params db_;
37  const PDB_Script_Params params_;
38 };
39 
40 } // namespace carma::observertools
41 } // namespace carma
42 
43 #endif /* PDB_SCRIPT_H */
44 
45 /* vim: set ts=8 sts=8 sw=8 noet tw=92: */