torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::generic::_impl::Copier< class ForbiddenEvent > Class Template Referenceabstract

#include <Cloning.hpp>

+ Inheritance diagram for torc::generic::_impl::Copier< class ForbiddenEvent >:
+ Collaboration diagram for torc::generic::_impl::Copier< class ForbiddenEvent >:

Public Types

typedef ForbiddenEvent Type
 
typedef boost::shared_ptr< TypePointer
 

Public Member Functions

Pointer operator() (const Pointer &inSource, const ObjectFactorySharedPtr &inFactory) throw (Error)
 
void visit (ForbiddenEvent &inForbiddenEvent) throw (Error)
 
 Copier ()
 
 ~Copier () throw ()
 
virtual void visit (_Tp &client)=0 throw (Error)
 

Private Attributes

ObjectFactorySharedPtr mFactory
 
Pointer mReturnVal
 

Detailed Description

template<>
class torc::generic::_impl::Copier< class ForbiddenEvent >

Definition at line 2726 of file Cloning.hpp.

Member Typedef Documentation

typedef boost::shared_ptr<Type> torc::generic::_impl::Copier< class ForbiddenEvent >::Pointer

Definition at line 2729 of file Cloning.hpp.

Definition at line 2728 of file Cloning.hpp.

Constructor & Destructor Documentation

Definition at line 2768 of file Cloning.hpp.

2768  : Type::Visitor(), mFactory(), mReturnVal() {
2769  }
torc::generic::_impl::Copier< class ForbiddenEvent >::~Copier ( )
throw (
)
inline

Definition at line 2771 of file Cloning.hpp.

2771  {
2772  }

Member Function Documentation

Pointer torc::generic::_impl::Copier< class ForbiddenEvent >::operator() ( const Pointer inSource,
const ObjectFactorySharedPtr inFactory 
)
throw (Error
)
inline

Definition at line 2731 of file Cloning.hpp.

2732  {
2733  mFactory = inFactory;
2734  inSource->accept(*this);
2735  return mReturnVal;
2736  }
template<typename _Tp >
virtual void torc::generic::VisitorType< _Tp >::visit ( _Tp &  client)
throw (Error
)
pure virtualinherited

Visit the target object. This will typically be a derived leaf type.

Parameters
[in,out]clientA reference to the target object
Exceptions
ErrorException generated by any of the functions called from inside visit()

+ Here is the caller graph for this function:

void torc::generic::_impl::Copier< class ForbiddenEvent >::visit ( ForbiddenEvent inForbiddenEvent)
throw (Error
)
inline

Definition at line 2738 of file Cloning.hpp.

2738  {
2739  try {
2740  ForbiddenEventSharedPtr forbiddenEventPtr;
2741  mFactory->create(forbiddenEventPtr);
2742  if(NULL != inForbiddenEvent.getStartTimeInterval()) {
2743  EventSharedPtr clonedEvent = clone(inForbiddenEvent.getStartTimeInterval(),
2744  mFactory);
2745  forbiddenEventPtr->setStartTimeInterval(clonedEvent);
2746  }
2747  if(NULL != inForbiddenEvent.getEndTimeInterval()) {
2748  EventSharedPtr clonedEvent = clone(inForbiddenEvent.getEndTimeInterval(), mFactory);
2749  forbiddenEventPtr->setEndTimeInterval(clonedEvent);
2750  } else {
2751  forbiddenEventPtr->setDuration(inForbiddenEvent.getDuration());
2752  }
2753  std::list<EventSharedPtr> outEvents;
2754  inForbiddenEvent.getEvents(outEvents);
2755  std::list<EventSharedPtr>::iterator eventIt = outEvents.begin();
2756  for(; eventIt != outEvents.end(); eventIt++) {
2757  EventSharedPtr clonedEvent = clone(*eventIt, mFactory);
2758  forbiddenEventPtr->addEvent(clonedEvent);
2759  }
2760 
2761  mReturnVal = forbiddenEventPtr;
2762  } catch(Error& e) {
2763  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2764  throw;
2765  }
2766  }
boost::shared_ptr< _Tp > clone(const boost::shared_ptr< _Tp > &inPointer, const ObjectFactorySharedPtr &inFactory)
Definition: Cloning.hpp:63
boost::shared_ptr< ForbiddenEvent > ForbiddenEventSharedPtr
boost::shared_ptr< Event > EventSharedPtr

+ Here is the call graph for this function:

Field Documentation

Definition at line 2775 of file Cloning.hpp.

Pointer torc::generic::_impl::Copier< class ForbiddenEvent >::mReturnVal
private

Definition at line 2776 of file Cloning.hpp.


The documentation for this class was generated from the following file: