The following classes were created:
class BdbConfigTestXTC : public BdbConfigObject {
// factory method
static
BdbHandle(BdbConfigTestXTC) create(const BdbConfigTestXTCTransient& transient,
BdbConfigWriter* theDatabase,
const char* secKey = 0);
// Copy object
virtual BdbStatus copy(const BdbHandle(BdbConfigContObj)& containerH,
BdbHandle(BdbConfigObject)& newObjectH);
// create transient copy
BdbConfigTestXTCTransient* transient() const;
For more details about how to create a persistent-capable class see
the Configuration database API.
class BdbConfigTestXTCTCProxy
: public BdbConfigTCProxy< odfTestXTC, BdbConfigTestXTC >
{
// Constructor takes a pointer to BdbConfigCache; ownership is taken
// The size for the arena can be supplied too
//
BdbConfigTestXTCTCProxy(BdbConfigCache* theCache,
size_t arenaSize = 10240);
/**
* This method allocates XTC inside the Arena. XTC must be the first and
* only datum inside the arena, i.e.:
* - XTC pointer must match arena's base()
* - XTC's extent must match arena's used()
*/
virtual odfTestXTC* fillXTC(const BdbHandle(BdbConfigTestXTC)& pObject,
const RdfConfigKey& rdfKey,
odfArena& theArena);
/** The purpose of BdbConfigTestXTCTCProxyLoader is to instantiate all
* persistent objects that are going to be accessed by the
* application in vtables() method (to ensure that vtables are
* loaded), and to register all necessary proxies (such as proxies
* for the tagged containers) in the proxies() method
* */
class BdbConfigTestXTCTCProxyLoader : public BdbTCProxyLoader
{
/**
* load proxies
*/
virtual bool proxies( BdbTCProxyDict* dict );
See also BdbConfigTestXTCTCProxyLoader.cc.
#include "BdbConfigTests/BdbConfigTestXTC.hh"
...
BdbConfigTestXTC temp;
#include "BdbConfigTests/BdbConfigTestXTCTCProxyLoader.hh" ... // loads config TCs for odfTestXTC forWho->add(new BdbConfigTestXTCTCProxyLoader() );