int file_count, file_id;
pts_meas_algorithms_t algo;
pts_file_meas_t *measurements;
- char *platform_info, *filename;
- chunk_t measurement;
- enumerator_t *e, *e_hash;
+ char *platform_info;
+ enumerator_t *e_hash;
bool is_dir;
platform_info = pts->get_platform_info(pts);
}
else
{
- e = measurements->create_enumerator(measurements);
- while (e->enumerate(e, &filename, &measurement))
- {
- DBG2(DBG_PTS, " %#B for '%s'", &measurement, filename);
- }
- e->destroy(e);
+ measurements->insert(measurements, pts_db, platform_info);
}
break;
}
(void*)entry_filter, NULL, NULL);
}
+METHOD(pts_file_meas_t, insert, bool,
+ private_pts_file_meas_t *this, pts_database_t *pts_db, char *product)
+{
+ enumerator_t *enumerator;
+ entry_t *entry;
+
+ enumerator = this->list->create_enumerator(this->list);
+ while (enumerator->enumerate(enumerator, &entry))
+ {
+ DBG2(DBG_PTS, " %#B for '%s'", &entry->measurement, entry->filename);
+ }
+ enumerator->destroy(enumerator);
+
+ return TRUE;
+}
+
METHOD(pts_file_meas_t, verify, bool,
private_pts_file_meas_t *this, enumerator_t *e_hash, bool is_dir)
{
.get_file_count = _get_file_count,
.add = _add,
.create_enumerator = _create_enumerator,
+ .insert = _insert,
.verify = _verify,
.destroy = _destroy,
},
#ifndef PTS_FILE_MEAS_H_
#define PTS_FILE_MEAS_H_
+#include "pts/pts_database.h"
+
#include <library.h>
typedef struct pts_file_meas_t pts_file_meas_t;
*/
enumerator_t* (*create_enumerator)(pts_file_meas_t *this);
+ /**
+ * Insert PTS File Measurements into the database
+ *
+ * @param db PTS Measurement database
+ * @param product Software product (os, vpn client, etc.)
+ * @return TRUE if all measurements could be inserted
+ */
+ bool (*insert)(pts_file_meas_t *this, pts_database_t *db, char* product);
+
/**
* Verify stored hashes against PTS File Measurements
*