1 // =========================================================================
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // =========================================================================
5 #include <cpPlugins/Object.h>
9 // -------------------------------------------------------------------------
12 const Object::TTimeStamp Object::ZeroTimeStamp =
13 Object::TTimeStamp( Object::TTimeRep::duration::zero( ) );
16 // -------------------------------------------------------------------------
17 const std::type_info& cpPlugins::Object::
20 return( typeid( *this ) );
23 // -------------------------------------------------------------------------
24 std::string cpPlugins::Object::
28 std::string name = this->GetClassType( ).name( );
29 std::unique_ptr< char, void(*)( void* ) > res
30 { abi::__cxa_demangle( name.c_str( ), NULL, NULL, &status ), std::free };
38 // -------------------------------------------------------------------------
39 void cpPlugins::Object::
40 Print( std::ostream& o ) const
42 o << this->GetClassName( ) << ": (" << this << ")" << std::endl;
45 // -------------------------------------------------------------------------
46 const cpPlugins::Object::
47 TTimeStamp& cpPlugins::Object::
48 GetLastTimeStamp( ) const
50 return( this->m_LastTimeStamp );
53 // -------------------------------------------------------------------------
54 bool cpPlugins::Object::
55 IsUpdated( const TTimeStamp& d ) const
58 this->m_LastTimeStamp < d &&
59 Self::ZeroTimeStamp < this->m_LastTimeStamp
63 // -------------------------------------------------------------------------
64 void cpPlugins::Object::
67 this->m_LastTimeStamp = Self::ZeroTimeStamp;
70 // -------------------------------------------------------------------------
77 // -------------------------------------------------------------------------
83 // -------------------------------------------------------------------------
84 void cpPlugins::Object::
87 // Do nothing at this level
90 // -------------------------------------------------------------------------
91 void cpPlugins::Object::
94 this->m_LastTimeStamp = TTimeRep::now( );