//*-- Author : Valeriy Onuchin 11/09/2000
//
//
////////////////////////////////////////////////////////////////////////////////
//
// roo is the base class for ROOT wrappers of base Objectivity classes
//
// This class provides few common methods including
// ones used for exception handling( not implemented yet)
//
//********************** Global Functions **************************************
//
//______________________________________________________________________________
// Bool_t rooInit(UInt_t nFiles,UInt_t nPages,UInt_t nMaxPages, Bool_t installSigHandler)
//
// nFiles - Number of active file descriptors reserved for
// Objectivity/DB. Default value is 12.
// nPages - Initial number of buffer pages initially
// allocated for the cache. Default value is 200.
// nMaxPages - Maximum number of buffer pages that
// Objectivity/DB may allocate for the cache.
// Default value is 500.
// installSigHandler - Indicates whether you want the system to
// install the operating system signal handler or
// not. If the value is oocFalse, then no signal
// handler will be installed. Default value is kTRUE.
//
// Initializes Objectivity/DB for the application process. Your application
// should call this function before any other Objectivity/DB services are
// used. You should invoke ooInit only one time in each application.
// Subsequent calls to this function are ignored.
//
//______________________________________________________________________________
// void rooRunStatus()
//
// Prints out a summary of Objectivity/DB internal statistics to stdout.
// Used primarily to obtain information useful for performance tuning.
//
//______________________________________________________________________________
// Bool_t rooCommit()
//
// Writes any objects updated during the default transaction
// gooTopTrans to permanent storage. The transaction is terminated
// and cannot be restarted.
//
//______________________________________________________________________________
// Bool_t rooAbort()
//
// Aborts the default transaction gooTopTrans, discarding any
// modifications. The transaction is terminated and cannot be restarted.
//
//______________________________________________________________________________
// Bool_t rooResetFD()
//
//______________________________________________________________________________
// void rooExitCleanup()
//
//______________________________________________________________________________
// Bool_t rooNoLock()
//
// Disables the Objectivity/DB locking facilities, removing concurrent
// access protection.
//
//______________________________________________________________________________
//void rooNoJournal()
//______________________________________________________________________________
//void rooSetHotMode(Bool_t hotMode)
//
//______________________________________________________________________________
// Bool_t rooCommitAndHold(Int_t mode)
//
// Writes any objects updated during the default transaction
// gooTopTrans to permanent storage and immediately starts another
// transaction.
//
//______________________________________________________________________________
// void rooSetRpcTimeout(long sec)
//
//______________________________________________________________________________
// void rooUseIndex(Bool_t use)
//
//______________________________________________________________________________
// Bool_t rooSetOfflineMode(Int_t offlineMode)
//
//______________________________________________________________________________
// Int_t rooGetOfflineMode()
//
//
//______________________________________________________________________________
// void rooSetLockRetry(UInt_t nTries,UInt_t interval)
//
//______________________________________________________________________________
// void rooSetLockWait(Int_t waitOption)
//
// Sets the lock waiting option for the current transaction (if any) and
// subsequent transactions. If you call rooSetLockWait within a
// transaction, it overrides any value you gave for the lock waiting option
// when you invoked the start member function to start the transaction.
// The setting remains in effect for all transactions in the current process
// until it is changed by another call to ooSetLockWait.
// waitOption can take one of the following values:
//
// kooTransNoWait - Wait option is not specified. This is the default value.
// kooNoWait - Do not wait for locks.
// kooWait - Wait forever for locks.
// n - Wait for n seconds, where n must be greater
// than or equal to 1, and less than or equal to
// 14400. If n = 0, then it is treated as kooNoWait.
// If n is less than 0 or greater than 14400, then it
// is treated as kooWait.
//
//______________________________________________________________________________
// Bool_t rooCloseItr(rooObj&)
//
//______________________________________________________________________________
// void rooSetLargeObjectMemoryLimit(UInt_t lim)
//
// Set the maximum amount of space (in bytes) that can be used by large
// objects (such as, objects greater than a page in size). This allows you to
// bypass the default limits set by Objectivity/DB that may be too small
// for your application. The limit is used to close large objects that are not
// currently being used so that the amount of memory used is always less
// than size. However, the limit will not be enforced if it cannot close
// enough objects to keep the memory below size. You can call this
// function anytime after ooInit and as often as needed to increase or
// decrease the amount of space used by large objects.
//______________________________________________________________________________
// rooDBObj rooReplace(const TString& dbSysName, const rooFDObj& fd)
//
// Creates a database with system name dbSysName in the federated
// database referenced by handle fd, and returns a handle to the new
// database. Any existing database with the same name in the federated
// database is removed before the new one is created. A null handle is
// returned if an error occurs while creating the database.
// Valid strings for dbSysName follow the same rules as a simple UNIX
// file name (for example, the slash (/) character is not allowed).
//
//______________________________________________________________________________
// Int_t rooTypeN(const TString& className)
//
// Returns type number of class className.
//
//______________________________________________________________________________
// void rooPrintHList(UInt_t level,UInt_t number)
//
//______________________________________________________________________________
// Bool_t rooGetResourceOwners( rooTransInfo **ppOwners, rooResource *pResource,
// char **ppBootFilePath, unsigned long tid)
//
//______________________________________________________________________________
// Bool_t rooGetActiveTrans( rooTransInfo **ppTrans, char **ppBootFilePath,
// char *pHost, unsigned int *pUid)
//
//______________________________________________________________________________
// Bool_t rooCleanup( char **ppBootFilePath, unsigned long tid,
// int ignHost, int standalone,
// int override, rooTransInfo *pLockOwner,
// int globalTransState)
//
// ppBootFilePath - Pointer to the location that contains the name
// of the federated database file to be checked. If
// ppBootFilePath is set to zero, the federated
// database filename is obtained from the
// environment variable OO_FD_BOOT and
// ppBootFilePath is set to the name obtained in OO_FD_BOOT.
// tId Transaction - identifier of the transaction to recover
//
// ignHost - Determines whether a transaction started on another node is
// recovered. If the ignHost is zero, rooCleanup does not recover
// the transaction that started on a node other than
// the one from which ooCleanup was invoked.
// standalone - If this parameter is non-zero, ensures that rooCleanup makes
// no attempt to contact the lock server and obtain locks during
// the recovery process.
// resetLock - If this parameter is non-zero, resets the recovery lock on the
// transaction and recovers the transaction, even if the recovery
// lock is owned by another instance of rooCleanup.
// pLockOwner - Points to information about a competing rooCleanup process.
// Setting this parameter to zero, prevents pLockOwner from being
// updated with the competing rooCleanup information.
//
// Use the rooCleanup function to recover a specific
// transaction. Unless the ignHost parameter is set, rooCleanup does not
// recover transactions started on a node other than the one from which it
// is invoked. Also, rooCleanup does not recover a transaction if the
// process owning that transaction is still active.
// rooCleanup attempts to get a recovery lock on the specified transaction
// tId before doing the recovery.
//
//______________________________________________________________________________
// Bool_t rooShowData(rooClassObject& obj,Bool_t mbd,const TString& pref)
//
//
//______________________________________________________________________________
// Bool_t rooShowNumeric(rooNumericValue& val)
//
//
//______________________________________________________________________________
// Bool_t rooShowRef(rooObj& obj)
//
//
//______________________________________________________________________________
// Bool_t rooShowRefVArray(rooVArrayObject& var)
//
//
//______________________________________________________________________________
// Bool_t rooShowRelationship(rooRelationshipObject& rel)
//
//
//______________________________________________________________________________
// Bool_t rooShowString(rooStringValue& val)
//
//
//______________________________________________________________________________
// Bool_t rooShowVArray(rooVArrayObject& var)
//
//
//______________________________________________________________________________
// void rooShowInheritance(const rooClass& cl)
//
//
//______________________________________________________________________________
// void rooShowProperties(const rooClass& cl)
//
//
//______________________________________________________________________________
// void rooShowUses(const rooClass& cl)
//
//
//
//********************** Global Constants **************************************
//
//
//enum EooWait {
// kooNoWait = 0,
// kooWait = -1,
// kooTransNoWait = -12753
//};
//
//enum EooMode{
// kooNoOpen = 0, /* used in iteration, only OID is returned */
// kooIRead = 4, /* open for read */
// kooReadOnly = 1, /* open for read only, same as kooRead in R1.1 */
// kooRead = 1,
// kooIUpdate = 5, /* open for update */
// kooUpdate = 2, /* open for exclusive update */
// kooXUpdate = 3,
// kooNoMROW = 0, /* no MROW mode */
// kooMROW = 8, /* MROW mode */
// kooMROWIfAllowed = 9, /* MROW if ooMROW = on is specified in BOOT file,
// otherwise, no MROW and no error message */
// kooErrorOpen = 10
//};
//
//enum EooCloseMode{
// kooCloseOnly = 0, /* normal close mode */
// kooUnlock, /* close and unlock a container */
// kooErrorClose
//};
//
//enum EooLockMode{
// kooLockRead = 0, /* lock for read */
// kooLockUpdate, /* lock for update */
// kooErrorLock
//};
//
//enum EooDowngradeMode{
// kooNoDowngrade = 0,
// kooDowngradeAll
//}; /* commitAndHold() downgrade options */
//
//enum EooVersMode{
// kooNoVers = 0, /* no versioning */
// kooLinearVers , /* linear versioning */
// kooBranchVers, /* branch versioning */
// kooErrorVers
//};
//
//enum EooOfflineMode{
// kooIgnore, /* ignore offline status of APs */
// kooEnforce /* enforce offline status of APs */
//};
//
//enum EooFileNameFormat{
// kooLocal = 0, /* local file name */
// kooNative = 0, /* local file name */
// kooHost = 1, /* host:localPath file name */
// kooHostLocal = 1, /* host:localPath file name */
// kooErrorFormat
//};
//
//enum EooHandleMode{
// kooHandleToNull = 0, /* change handle to NULL */
// kooHandleToOID, /* change handle to OID */
// kooErrorHandle
//};
//
//enum EooAccessMode{
// kooPublic = 0, /* public data member */
// kooAll, /* protected/private data member to be exposed */
// kooErrorAccess
//};
//
//enum EooNameServerMode {
// kooDefaultNameServer = 0, /* default name server - global one */
// kooBootFile, /* use boot file */
// kooVmsDns, /* use VMS DNS */
// kooErrorNameServer
//};
//
//enum EooBaseType{
// kooTypeNONE = 0, /* used by Index Interface */
// kooTypeCHAR = 1, /* WARNING: DO NOT CHANGE THE ORDER */
// kooTypeINT8 = 2, /* of these enums as they are stored */
// kooTypeUINT8 = 3, /* persistently by DBs with indexes. */
// kooTypeINT16 = 4,
// kooTypeUINT16 = 5,
// kooTypeINT32 = 6,
// kooTypeUINT32 = 7,
// kooTypeFLOAT32 = 8,
// kooTypeFLOAT64 = 9,
// kooTypeCHAR_PTR = 10,
// kooTypeFUNCTION_PTR = 11,
// kooTypeVTABLE_PTR = 12,
// kooTypePTR = 13,
// kooTypeDEFAULT_VARRAY = 14,
// kooTypeVARRAYCHAR = 15,
// kooTypeVARRAYCHAR_fixed = 16,
// kooTypeVSTRING = 17,
// kooTypeVSTRING_fixed = 18,
// kooTypeSTRING = 19,
// kooTypeSTRING_fixed = 20,
// kooTypeUTF8STRING = 21,
// kooTypeUTF8STRING_fixed = 22,
// kooTypeINT64 = 23,
// kooTypeUINT64 = 24
//};
//
//enum EooRelatOp {
// kooNoRelatOp = 0,
// kooLT, /* Less Than. */
// kooLE, /* Less Than or Equal to. */
// kooEQ, /* Equal to. */
// kooGT, /* Greater Than. */
// kooGE /* Greater Than or Equal to. */
//};
//
//enum EqryTruthValue{ /* used by query */
// kqryTrue = 1,
// kqryFalse = 0,
// kqryNull = -1
//};
//
//* Key object */
//enum EooKeyType {
// kooUint16, /* 16 bit unsigned */
// kooUInt_t, /* 32 bit unsigned */
// kooUint64, /* 64 bit unsigned */
// kooInt16, /* 16 bit signed */
// kooInt32, /* 32 bit signed */
// kooInt64, /* 64 bit signed */
// kooString, /* string type */
// kooCharArray, /* character array */
// kooErrorKeyType
//};
//
//typedef struct {
// ooKeyType type; /* key type */
// UInt_t offset; /* key offset from the start of the object */
// UInt_t size; /* length in number of bytes */
// ooVoidPtr value; /* pointer to the key value */
//} ooKey;
//
//
//enum EooIndexOp {
// kooIOpInsert = 3, /* Inserting an index object. */
// kooIOpUpdate = 4 /* Updating an index object. */
//};
//
//enum EooIndexMode {
// kooTransNoSensitive = 0, /* mode not specified in trans */
// kooInsensitive = 1,
// kooSensitive = 2,
// kooExplicitUpdate = 3
//};
//
//enum EooContainsFilter {
// kooAllObjs = 0x3, /* all objs */
// kooNotTransferred = 0x4, /* objs whose control is NOT transferred */
// kooInBootAP = kooNotTransferred, /* old misleading name */
// kooTransferred = 0x5, /* objs whose control is transferred */
// kooNotInBootAP = kooTransferred /* old misleading name */
//};
//
//enum EooAMSUsage {
// kooAMSPreferred, /* use Advanced Multithreaded Server, if available */
// kooAMSOnly, /* use AMS exclusively */
// kooNoAMS, /* do not use AMS */
// kooAMSLocalAndRemote /* use it for both local and remote operations */
//};
//
//enum Eoo2PCTransState {
// koo2PCTransStateInDoubt = 0,
// koo2PCTransStateCommit,
// koo2PCTransStateAbort
//};
//
//
//************************* from ooas.h ****************************************
//
//enum EooRef_Kind {
// kooREF,
// kooPOINTER
//};
//
//enum EooKind {
// kooLIST,
// kooARRAY,
// kooBAG,
// kooSET,
// kooDICTIONARY,
// kooSTL_LIST,
// kooSTL_SET,
// kooSTL_MULTISET,
// kooSTL_VECTOR,
// kooSTL_MAP,
// kooSTL_MULTIMAP
//};
//
//enum EooAccess_Kind {
// kooPUBLIC,
// kooPROTECTED,
// kooPRIVATE,
// kooINVALID
//};
//
//enum EooRel_Kind {
// kooREL_REF,
// kooREL_SET,
// kooREL_LIST
//};
//
//enum EooINOUTMode {
// kooIN,
// kooOUT,
// kooINOUT
//};
//
//enum EooAsType {
// kooNone_t,
// kooScope_t,
// kooMetaObject_t,
// kooClass_t,
// kooModule_t,
// kooType_t,
// kooConstant_t,
// kooOperation_t,
// kooCollectionType_t,
// kooAliasType_t,
// kooKeyCollectionType_t,
// kooRefType_t,
// kooProperty_t,
// kooException_t,
// kooParameter_t,
// kooAttribute_t,
// kooRelationship_t,
// kooInheritance_t,
// kooBasicType_t,
// kooRelationshipType_t,
// kooUnidirectionalRelationshipType_t,
// kooBidirectionalRelationshipType_t,
// kooVArrayBasicType_t,
// kooVArrayEmbeddedClassType_t,
// kooorooVArrayRefType_t,
// kooShortRefType_t, // Used only in Proposed_*_Attribute
// kooNumericValue_t,
// kooClassObject_t,
// kooVArrayObject_t,
// kooRelationshipObject_t,
// kooClass_OrRefType_t,
// kooVArrayClass_OrRefType_t,
// kooProposedClass_t,
// kooProposedBaseClass_t,
// kooProposedBasic_Attribute_t,
// kooProposedEmbeddedClass_Attribute_t,
// koooProposerooRelationship_t,
// kooProposedRef_Attribute_t,
// kooProposed_VArray_Attribute_t
//};
//
//enum ENONEenum_t { kooNONE = kooTypeNONE };
//enum ECHARenum_t { kooCHAR = kooTypeCHAR };
//enum EINT8enum_t { kooINT8 = kooTypeINT8 };
//enum EUINT8enum_t { kooUINT8 = kooTypeUINT8 };
//enum EINT16enum_t { kooINT16 = kooTypeINT16 };
//enum EUINT16enum_t { kooUINT16 = kooTypeUINT16 };
//enum EINT32enum_t { kooINT32 = kooTypeINT32 };
//enum EUINT32enum_t { kooUINT32 = kooTypeUINT32 };
//enum EINT64enum_t { kooINT64 = kooTypeINT64 };
//enum EUINT64enum_t { kooUINT64 = kooTypeUINT64 };
//enum EFLOAT32enum_t { kooFLOAT32 = kooTypeFLOAT32 };
//enum EFLOAT64enum_t { kooFLOAT64 = kooTypeFLOAT64 };
//enum EPTRenum_t { kooPTR = kooTypePTR };
//
//enum EooAsStringType {
// kooAsStringNONE,
// kooAsStringVSTRING,
// kooAsStringUTF8,
// kooAsStringOPTIMIZED,
// kooAsStringST
//};
//
//static const char* defaultNameStr = "<unnamed>";
//
//enum EooVersion { kooLatestVersion = 0 };
//
//
////////////////////////////////////////////////////////////////////////////////
#include "roo.h"
ClassImp(roo)
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.