5 #ifndef PDB_BSON_CONVERT_H
6 #define PDB_BSON_CONVERT_H
8 #include <carma/observertools/ProjectDatabaseManager.h>
10 #include <mongo/client/dbclient.h>
11 #include <mongo/bson/bsonobj.h>
17 namespace observertools {
20 std::vector<Project> convertBSONProjects(
const std::vector<mongo::BSONObj> &objects);
21 std::vector<Obsblock> convertBSONObsblocks(
const std::vector<mongo::BSONObj> &objects);
22 std::vector<SubObsblock> convertBSONSubObsblocks(
const std::vector<mongo::BSONObj> &objects);
23 std::vector<Trial> convertBSONTrials(
const std::vector<mongo::BSONObj> &objects);
26 std::vector<mongo::BSONObj> convertCORBAProjects(
const std::vector<Project> &objects);
27 std::vector<mongo::BSONObj> convertCORBAObsblocks(
const std::vector<Obsblock> &objects);
28 std::vector<mongo::BSONObj> convertCORBASubObsblocks(
const std::vector<SubObsblock> &objects);
29 std::vector<mongo::BSONObj> convertCORBATrials(
const std::vector<Trial> &objects);
32 struct CORBA_Object_Merge {
33 std::vector<Project> projects;
34 std::vector<Obsblock> obsblocks;
35 std::vector<SubObsblock> subobsblocks;
36 std::vector<Trial> trials;
40 std::vector<Project> mergeCORBAObjects(
const CORBA_Object_Merge &merge);
43 CORBA_Object_Merge splitCORBAObjects(
const std::vector<Project> &projects);