The Gaudi Framework  v30r3 (a5ef0a68)
DirectoryCnv.cpp
Go to the documentation of this file.
1 // Include files
2 #include "DirectoryCnv.h"
3 //------------------------------------------------------------------------------
4 //
5 // Implementation of class : RootHistCnv::DirectoryCnv
6 //
7 // Author : Charles Leggett
8 //
9 //------------------------------------------------------------------------------
11 //------------------------------------------------------------------------------
12 StatusCode RootHistCnv::DirectoryCnv::createObj( IOpaqueAddress* /* pAddress */, DataObject*& refpObject )
13 {
14  refpObject = new DataObject();
15  return StatusCode::SUCCESS;
16 }
17 
18 //------------------------------------------------------------------------------
20 {
21  if ( changeDirectory( pObj ) ) {
22  const char* d_nam = pObj->name().c_str() + 1;
23  if ( !gDirectory->GetKey( d_nam ) ) {
24  gDirectory->mkdir( d_nam );
25  }
26  gDirectory->cd( d_nam );
27  return createAddress( pObj, gDirectory, nullptr, refpAddr );
28  }
29  refpAddr = nullptr;
30  return StatusCode::FAILURE;
31 }
constexpr static const auto FAILURE
Definition: StatusCode.h:88
#define DECLARE_CONVERTER(x)
Definition: Converter.h:155
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Convert the transient object to the requested representation.
TDirectory * changeDirectory(DataObject *pObject)
Switch to object directory (=Parent directory)
Definition: RConverter.cpp:205
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
T c_str(T...args)
const std::string & name() const
Retreive DataObject name. It is the name when registered in the store.
Definition: DataObject.cpp:68
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
StatusCode createAddress(DataObject *pObject, TDirectory *pDir, TObject *pTObject, IOpaqueAddress *&refpAddr)
Create address of the transient object according to the requested representation. ...
Definition: RConverter.cpp:160