CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ora::InlineCArrayReader Class Reference

#include <InlineCArrayStreamer.h>

Inheritance diagram for ora::InlineCArrayReader:
ora::InlineCArrayStreamerBase ora::IRelationalReader

Public Member Functions

bool build (DataElement &dataElement, IRelationalData &relationalData)
 
void clear ()
 
 InlineCArrayReader (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
void processArrayElement (DataElement &arrayElementOffset, IRelationalData &relationalData, MappingElement &arrayElementMapping, RelationalBuffer *operationBuffer)
 
void read (void *data)
 Reads a data element. More...
 
void select (int oid)
 
void setRecordId (const std::vector< int > &identity)
 
virtual ~InlineCArrayReader ()
 
- Public Member Functions inherited from ora::InlineCArrayStreamerBase
bool buildDataElement (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
 
 InlineCArrayStreamerBase (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
virtual ~InlineCArrayStreamerBase ()
 
- Public Member Functions inherited from ora::IRelationalReader
virtual ~IRelationalReader ()
 

Private Attributes

std::vector< IRelationalReader * > m_readers
 

Additional Inherited Members

- Protected Attributes inherited from ora::InlineCArrayStreamerBase
Reflex::Type m_arrayType
 
Reflex::Type m_objectType
 
RelationalStreamerFactory m_streamerFactory
 

Detailed Description

Definition at line 74 of file InlineCArrayStreamer.h.

Constructor & Destructor Documentation

ora::InlineCArrayReader::InlineCArrayReader ( const Reflex::Type &  objectType,
MappingElement mapping,
ContainerSchema contSchema 
)

Definition at line 143 of file InlineCArrayStreamer.cc.

145  :
146  InlineCArrayStreamerBase( objectType, mapping, contSchema ),
147  m_readers(){
148 }
std::vector< IRelationalReader * > m_readers
InlineCArrayStreamerBase(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
ora::InlineCArrayReader::~InlineCArrayReader ( )
virtual

Definition at line 150 of file InlineCArrayStreamer.cc.

150  {
151  for( std::vector< IRelationalReader* >::iterator iStr = m_readers.begin();
152  iStr != m_readers.end(); ++iStr ){
153  delete *iStr;
154  }
155  m_readers.clear();
156 }
std::vector< IRelationalReader * > m_readers

Member Function Documentation

bool ora::InlineCArrayReader::build ( DataElement dataElement,
IRelationalData relationalData 
)
virtual

Implements ora::IRelationalReader.

Definition at line 167 of file InlineCArrayStreamer.cc.

168  {
169  return buildDataElement( dataElement, relationalData, 0 );
170 }
bool buildDataElement(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
void ora::InlineCArrayReader::clear ( void  )
virtual
void ora::InlineCArrayReader::processArrayElement ( DataElement arrayElementOffset,
IRelationalData relationalData,
MappingElement arrayElementMapping,
RelationalBuffer operationBuffer 
)
virtual

Implements ora::InlineCArrayStreamerBase.

Definition at line 158 of file InlineCArrayStreamer.cc.

References ora::IRelationalReader::build().

161  {
162  IRelationalReader* arrayElementReader = m_streamerFactory.newReader( m_arrayType, arrayElementMapping );
163  m_readers.push_back( arrayElementReader );
164  arrayElementReader->build( arrayElementOffset, relationalData );
165 }
std::vector< IRelationalReader * > m_readers
IRelationalReader * newReader(const Reflex::Type &dataType, MappingElement &dataMapping)
RelationalStreamerFactory m_streamerFactory
void ora::InlineCArrayReader::read ( void *  address)
virtual

Reads a data element.

Implements ora::IRelationalReader.

Definition at line 186 of file InlineCArrayStreamer.cc.

Referenced by Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::goto(), and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::setFilterBranches().

186  {
187  for( std::vector< IRelationalReader* >::iterator iDepReader = m_readers.begin();
188  iDepReader != m_readers.end(); ++iDepReader ){
189  (*iDepReader)->read( data );
190  }
191 }
std::vector< IRelationalReader * > m_readers
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void ora::InlineCArrayReader::select ( int  oid)
virtual
void ora::InlineCArrayReader::setRecordId ( const std::vector< int > &  identity)
virtual

Implements ora::IRelationalReader.

Definition at line 179 of file InlineCArrayStreamer.cc.

179  {
180  for( std::vector< IRelationalReader* >::iterator iDepReader = m_readers.begin();
181  iDepReader != m_readers.end(); ++iDepReader ){
182  (*iDepReader)->setRecordId( identity );
183  }
184 }
std::vector< IRelationalReader * > m_readers

Member Data Documentation

std::vector<IRelationalReader*> ora::InlineCArrayReader::m_readers
private

Definition at line 93 of file InlineCArrayStreamer.h.