24 #include <aspect/inifins/time_source.h>
25 #include <aspect/time_source.h>
26 #include <core/threading/thread_finalizer.h>
27 #include <utils/time/clock.h>
49 if (timesource_thread == NULL) {
51 "TimeSourceAspect, but RTTI says it "
57 timesource_uc_.add(timesource_thread->get_timesource());
60 }
catch (Exception &e) {
61 throw CannotInitializeThreadException(
"Thread has TimeSourceAspect but there "
62 "is already another time provider.");
69 TimeSourceAspect *timesource_thread;
70 timesource_thread =
dynamic_cast<TimeSourceAspect *
>(thread);
71 if (timesource_thread == NULL) {
72 throw CannotInitializeThreadException(
"Thread '%s' claims to have the "
73 "TimeSourceAspect, but RTTI says it "
80 timesource_uc_.remove(timesource_thread->get_timesource());
81 }
catch (Exception &e) {
82 CannotFinalizeThreadException ce(
"Failed to remove time source");