//*-- 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.