PdbApplication.hh
//-----------------------------------------------------------------------------
// $Header: /afs/rhic/phenix/PHENIX_CVS/offline/database/pdbcal/PdbApplication.hh,v 1.8 2000/06/20 18:41:29 messer Exp $
//
// The pdbcal package
// Copyright (C) PHENIX collaboration, 1999
//
// Declaration of class PdbApplication
//
// Purpose: Abstract base class for all database applications
//
// Description:
//
// Author: Matthias Messer
//-----------------------------------------------------------------------------
#ifndef PDBAPPLICATION_H
#define PDBAPPLICATION_H
#include "PHString.h"
#include "Pdb.hh"
class PdbApplication {
public:
virtual ~PdbApplication();
public:
virtual PdbStatus startUpdate() = 0;
virtual PdbStatus startRead() = 0;
virtual PdbStatus commit() = 0;
virtual PdbStatus abort() = 0;
virtual PdbStatus isActive() = 0;
//
// Should return the file (database) size in bytes.
//
virtual size_t getTagFileSize(const char *) = 0;
virtual size_t getCalFileSize(const char *) = 0;
const PHString & getBootFileName() const { return bootFileName; }
protected:
PdbApplication();
protected:
PHString bootFileName;
};
#endif /* PDBAPPLICATION_H */