11#ifndef POOL_DBCONTAINERIMP_H
12#define POOL_DBCONTAINERIMP_H 1
19#include "GaudiKernel/StatusCode.h"
60 return static_cast<const char*
>(
object) + offset;
79 {
return StatusCode::FAILURE; }
86 virtual void release()
override {
delete this; }
88 virtual uint64_t
size()
override;
90 virtual std::string
name()
const override
97 virtual StatusCode
close()
override;
116 virtual StatusCode
store(
const void*
object,
140 bool any_next)
override;
This file contains the class definition for the Token class (migrated from POOL).
APRMessaging(const std::string &name)
virtual StatusCode writeObject(ActionList::value_type &)
Commit single entry to container.
virtual StatusCode load(void **ptr, ShapeH shape, const Token::OID_t &lnkH, Token::OID_t &oid, bool any_next) override
Find object within the container and load it into memory.
virtual StatusCode loadObject(void **ptr, ShapeH shape, Token::OID_t &oid)=0
Find object by object identifier and load it into memory.
ActionList m_writeStack
Transaction fifo storage for writing.
virtual StatusCode next(Token::OID_t &linkH) override
Fetch next object address to set token.
virtual StatusCode setOption(const DbOption &opt) override
Set options.
virtual StatusCode transAct(Transaction::Action) override
Execute Transaction Action.
virtual uint64_t size() override
Size of the container.
virtual void useNextRecordId(uint64_t) override
Suggest next Record ID for tbe next object written - used only with synced indexes.
virtual StatusCode close() override
Close the container and deallocate resources.
virtual StatusCode allocate(DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid) override
In place allocation of object location.
virtual StatusCode getOption(DbOption &opt) override
Access options.
std::string m_name
Container name.
size_t m_size
Current size of the transaction stack.
virtual uint64_t nextRecordId() override
Number of next record in the container (=size if no delete is allowed)
virtual void release() override
Release instance (Abstract interfaces do not expose destructor!)
virtual StatusCode store(const void *object, DbContainer &cntH, ShapeH shape) override
Store object in location.
virtual StatusCode commitTransaction()
Execute object modification requests during a transaction.
virtual std::string name() const override
Get container name.
DbContainerImp(const std::string &name)
virtual ~DbContainerImp()
Standard destructor.
std::vector< DbAction > ActionList
Description: Definition of the object describing a database container Handle managing a DbContainerOb...
Description: Definition an option to be supplied to database objects.
const class Shape * ShapeH
DbAction(const void *obj, const Shape *s, const Token::OID_t &l)
const void * dataAtOffset(size_t offset)