view ReporterBase.h @ 402:58b88ab69424 api-inversion

Move the struct adb definition from the auidioDB_API.h into the audioDB-internals.h header file, leaving only the typedef behind. Thus a user of the API sees only an incomplete type, which cannot be instantiated (but /pointers/ to it can); there's then less temptation to break the abstraction barrier by using structure fields in client code. Not only that, but we can now safely put C++ stuff in the structure. Take advantage of this by putting a std::set<std::string> in there, to hold all the keys currently in the database; populate this field on audiodb_open() (and delete it on audiodb_close). This will be useful when we come to implement variants of audiodb_insert().
author mas01cr
date Wed, 03 Dec 2008 17:40:15 +0000
parents d9a88cfd4ab6
children d3afc91d205d
line wrap: on
line source

#ifndef __REPORTERBASE_H
#define __REPORTERBASE_H

class ReporterBase {
public:
  virtual ~ReporterBase(){};
  virtual void add_point(unsigned int trackID, unsigned int qpos, unsigned int spos, double dist) = 0;
  virtual void report(char*,void*) = 0;
};

#endif