/usr/include/root/TSchemaRule.h is in libroot-core-dev 5.34.00-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | // @(#)root/core:$Id: TSchemaRule.h 34641 2010-07-28 18:12:36Z pcanal $
// author: Lukasz Janyst <ljanyst@cern.ch>
#ifndef ROOT_TSchemaRule
#define ROOT_TSchemaRule
class TBuffer;
class TVirtualObject;
class TObjArray;
#include "TObject.h"
#include "TNamed.h"
#include "Rtypes.h"
#include "TString.h"
#include <vector>
#include <utility>
namespace ROOT {
class TSchemaRule: public TObject
{
public:
class TSources : public TNamed {
private:
TString fDimensions;
public:
TSources(const char *name = 0, const char *title = 0, const char *dims = 0) : TNamed(name,title),fDimensions(dims) {}
const char *GetDimensions() { return fDimensions; }
ClassDef(TSources,2);
};
typedef enum
{
kReadRule = 0,
kReadRawRule = 1,
kNone = 99999
} RuleType_t;
typedef void (*ReadFuncPtr_t)( char*, TVirtualObject* );
typedef void (*ReadRawFuncPtr_t)( char*, TBuffer&);
TSchemaRule();
virtual ~TSchemaRule();
TSchemaRule( const TSchemaRule& rhs );
TSchemaRule& operator = ( const TSchemaRule& rhs );
Bool_t operator == ( const TSchemaRule& rhs );
void Clear(Option_t * /*option*/ ="");
Bool_t SetFromRule( const char *rule );
const char *GetVersion( ) const;
Bool_t SetVersion( const TString& version );
Bool_t TestVersion( Int_t version ) const;
Bool_t SetChecksum( const TString& checksum );
Bool_t TestChecksum( UInt_t checksum ) const;
void SetSourceClass( const TString& classname );
const char *GetSourceClass() const;
void SetTargetClass( const TString& classname );
const char *GetTargetClass() const;
void SetTarget( const TString& target );
const TObjArray* GetTarget() const;
const char *GetTargetString() const;
void SetSource( const TString& source );
const TObjArray* GetSource() const;
void SetEmbed( Bool_t embed );
Bool_t GetEmbed() const;
Bool_t IsAliasRule() const;
Bool_t IsRenameRule() const;
Bool_t IsValid() const;
void SetCode( const TString& code );
const char *GetCode() const;
void SetAttributes( const TString& attributes );
const char *GetAttributes() const;
Bool_t HasTarget( const TString& target ) const;
Bool_t HasSource( const TString& source ) const;
void SetReadFunctionPointer( ReadFuncPtr_t ptr );
ReadFuncPtr_t GetReadFunctionPointer() const;
void SetReadRawFunctionPointer( ReadRawFuncPtr_t ptr );
ReadRawFuncPtr_t GetReadRawFunctionPointer() const;
void SetInclude( const TString& include );
const TObjArray* GetInclude() const;
void SetRuleType( RuleType_t type );
RuleType_t GetRuleType() const;
Bool_t Conflicts( const TSchemaRule* rule ) const;
void AsString( TString &out, const char *options = "" ) const;
void ls(Option_t *option="") const;
ClassDef( TSchemaRule, 1 );
private:
Bool_t ProcessVersion( const TString& version ) const;
Bool_t ProcessChecksum( const TString& checksum ) const;
static void ProcessList( TObjArray* array, const TString& list );
static void ProcessDeclaration( TObjArray* array, const TString& list );
TString fVersion; // Source version string
mutable std::vector<std::pair<Int_t, Int_t> >* fVersionVect; //! Source version vector (for searching purposes)
TString fChecksum; // Source checksum string
mutable std::vector<UInt_t>* fChecksumVect; //! Source checksum vector (for searching purposes)
TString fSourceClass; // Source class
TString fTargetClass; // Target class, this is the owner of this rule object.
TString fTarget; // Target data mamber string
mutable TObjArray* fTargetVect; //! Target data member vector (for searching purposes)
TString fSource; // Source data member string
mutable TObjArray* fSourceVect; //! Source data member vector (for searching purposes)
TString fInclude; // Includes string
mutable TObjArray* fIncludeVect; //! Includes vector
TString fCode; // User specified code snippet
Bool_t fEmbed; // Value determining if the rule should be embedded
ReadFuncPtr_t fReadFuncPtr; //! Conversion function pointer for read rule
ReadRawFuncPtr_t fReadRawFuncPtr; //! Conversion function pointer for readraw rule
RuleType_t fRuleType; // Type of the rule
TString fAttributes; // Attributes to be applied to the member (like Owner/NotOwner)
};
} // End of namespace ROOT
#endif // ROOT_TSchemaRule
|