PdbObjyApplication.hh
//-----------------------------------------------------------------------------
// $Header: /afs/rhic/phenix/PHENIX_CVS/offline/database/pdbcal/PdbObjyApplication.hh,v 1.9 2000/07/20 18:03:01 messer Exp $
//
// The pdbcal package
// Copyright (C) PHENIX collaboration, 1999
//
// Declaration of class PdbObjyApplication
//
// Purpose: Application manager for Objectivity implementation
//
// Description:
//
// Author: Matthias Messer
//-----------------------------------------------------------------------------
#ifndef PDBOBJYAPPLICATION_H
#define PDBOBJYAPPLICATION_H
#include "PdbApplication.hh"
#include "oo.h"
class PdbObjyApplication : public PdbApplication {
public:
~PdbObjyApplication();
static PdbObjyApplication * instance();
public:
PdbStatus startUpdate();
PdbStatus startRead();
PdbStatus commit();
PdbStatus abort();
PdbStatus isActive() { return transaction.isActive(); }
PdbStatus openForUpdate(ooHandle(ooObj));
size_t getTagFileSize(const char *);
size_t getCalFileSize(const char *);
ooHandle(ooContObj) getTagContainerHandle(const char *);
ooHandle(ooContObj) getCalContainerHandle(const char *);
protected:
PdbObjyApplication();
private:
ooHandle(ooContObj) getContainerHandle(const PHString&, const char*);
protected:
ooTrans transaction;
ooHandle(ooFDObj) fdbHandle;
ooMode accessMode;
static PdbObjyApplication * _instance;
};
#endif /* PDBOBJYAPPLICATION_H */