#ifndef _rooModule_h #define _rooModule_h #ifndef _rooMetaObject_h #include "rooMetaObject.h" #endif #ifndef _rooScope_h #include "rooScope.h" #endif //////////////////////////////////////////////////////////////////////////////// class rooModule : public rooMetaObject, public rooScope { protected: static rooModule* fgTopLevel; // top level module rooMetaObject* fMetaObj; // resolve() rooType* fType; // resolve_type() rooClass* fClass; // resolve_class() rooModule* fModule; // resolve_module() public: rooModule(); rooModule(void* imp) { setImp(imp); } virtual ~rooModule(); static const rooModule & top_level(ULong_t key = 0); rooTypeItr defines_types_begin(); rooTypeItr defines_types_end(); virtual UInt_t id() const; virtual rooMetaObjectItr defines_begin(); virtual rooMetaObjectItr defines_end(); const rooMetaObject & resolve(const TString&, Int_t ver = kooLatestVersion); const rooType & resolve_type(const TString&); const rooType & resolve_type(Int_t); const rooClass & resolve_class(const TString&, Int_t ver = kooLatestVersion); const rooClass & resolve_class(Int_t); const rooModule & resolve_module(const TString&); // rooProposedClass & resolve_proposed_class(const TString&) const; // proposed_class_iterator proposed_classes_begin() const; // proposed_class_iterator proposed_classes_end() const; virtual rooModuleItr named_modules_begin(); virtual rooModuleItr named_modules_end(); // rooProposedClass & propose_new_class(const TString&, Int_t = 0); // rooProposedClass & propose_evolved_class(const TString&, // Int_t = 0, // Bool_t = kFALSE); // Bool_t delete_proposal(const TString&); // Bool_t activate_remote_schema_changes( // rooTrans &, // Int_t * = NULL, // Bool_t = kTRUE); // void clear_proposals(); virtual Bool_t is_module() const; virtual Bool_t is_top_level() const; Int_t schema_number() const; Int_t next_type_number() const; Int_t next_assoc_number() const; Bool_t set_next_type_number(Int_t); Bool_t set_next_assoc_number(Int_t); static Bool_t lock_schema(ULong_t); static Bool_t lock_schema(ULong_t, ULong_t); static Bool_t unlock_schema(ULong_t); // static rooModule & add_module(const TString&, UInt_t = 0); // static void (*evolution_message_handler())(const TString&); // static void set_evolution_message_handler(void (*)(const TString&)); static Bool_t sanitize(rooTrans &); ClassDef(rooModule,0) // corresponds to d_Module }; #endif // _rooModule_h