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::ObjectUpdater Class Reference

#include <ObjectStreamer.h>

Inheritance diagram for ora::ObjectUpdater:
ora::ObjectStreamerBase ora::IRelationalUpdater

Public Member Functions

bool build (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
 
 ObjectUpdater (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
void processDataMember (DataElement &dataElement, IRelationalData &relationalData, Reflex::Type &dataMemberType, MappingElement &dataMemberMapping, RelationalBuffer *operationBuffer)
 
void setRecordId (const std::vector< int > &identity)
 
void update (int oid, const void *data)
 Updates a data element. More...
 
virtual ~ObjectUpdater ()
 
- Public Member Functions inherited from ora::ObjectStreamerBase
void buildBaseDataMembers (DataElement &dataElement, IRelationalData &relationalData, const Reflex::Type &objType, RelationalBuffer *operationBuffer)
 
bool buildDataMembers (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
 
 ObjectStreamerBase (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
virtual ~ObjectStreamerBase ()
 
- Public Member Functions inherited from ora::IRelationalUpdater
virtual ~IRelationalUpdater ()
 

Private Attributes

std::vector< IRelationalUpdater * > m_updaters
 

Additional Inherited Members

- Protected Attributes inherited from ora::ObjectStreamerBase
RelationalStreamerFactory m_streamerFactory
 

Detailed Description

Definition at line 53 of file ObjectStreamer.h.

Constructor & Destructor Documentation

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

Definition at line 157 of file ObjectStreamer.cc.

159  :
160  ObjectStreamerBase( objectType, mapping, contSchema ),
161  m_updaters(){
162 }
std::vector< IRelationalUpdater * > m_updaters
ObjectStreamerBase(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
ora::ObjectUpdater::~ObjectUpdater ( )
virtual

Definition at line 164 of file ObjectStreamer.cc.

164  {
165  for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin();
166  iU != m_updaters.end(); ++iU ){
167  delete *iU;
168  }
169  m_updaters.clear();
170 }
std::vector< IRelationalUpdater * > m_updaters

Member Function Documentation

bool ora::ObjectUpdater::build ( DataElement dataElement,
IRelationalData relationalData,
RelationalBuffer operationBuffer 
)
virtual

Implements ora::IRelationalUpdater.

Definition at line 172 of file ObjectStreamer.cc.

174  {
175  return buildDataMembers( dataElement, relationalData, &operationBuffer );
176 }
bool buildDataMembers(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
void ora::ObjectUpdater::processDataMember ( DataElement dataElement,
IRelationalData relationalData,
Reflex::Type &  dataMemberType,
MappingElement dataMemberMapping,
RelationalBuffer operationBuffer 
)
virtual

Implements ora::ObjectStreamerBase.

Definition at line 194 of file ObjectStreamer.cc.

References ora::IRelationalUpdater::build().

198  {
199  IRelationalUpdater* dataMemberUpdater = m_streamerFactory.newUpdater( dataMemberType, dataMemberMapping );
200  m_updaters.push_back( dataMemberUpdater );
201  dataMemberUpdater->build( dataMemberElement, relationalData, *operationBuffer );
202 }
std::vector< IRelationalUpdater * > m_updaters
IRelationalUpdater * newUpdater(const Reflex::Type &dataType, MappingElement &dataMapping)
RelationalStreamerFactory m_streamerFactory
void ora::ObjectUpdater::setRecordId ( const std::vector< int > &  identity)
virtual

Implements ora::IRelationalUpdater.

Definition at line 178 of file ObjectStreamer.cc.

178  {
179  for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin();
180  iU != m_updaters.end(); ++iU){
181  (*iU)->setRecordId( identity );
182  }
183 }
std::vector< IRelationalUpdater * > m_updaters
void ora::ObjectUpdater::update ( int  oid,
const void *  data 
)
virtual

Updates a data element.

Writes a data element.

Implements ora::IRelationalUpdater.

Definition at line 186 of file ObjectStreamer.cc.

Referenced by python.seqvaluedict.seqdict::__setslice__(), python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.seqvaluedict.seqdict::extend(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

187  {
188  for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin();
189  iU != m_updaters.end(); ++iU ){
190  (*iU)->update( oid, data );
191  }
192 }
std::vector< IRelationalUpdater * > m_updaters

Member Data Documentation

std::vector< IRelationalUpdater* > ora::ObjectUpdater::m_updaters
private

Definition at line 75 of file ObjectStreamer.h.