OrocosComponentLibrary  2.6.0
LoggingService.hpp
00001 #ifndef LOGGINGSERVICE_HPP
00002 #define LOGGINGSERVICE_HPP 1
00003 
00004 #include <rtt/TaskContext.hpp>
00005 #include <rtt/PropertyBag.hpp>
00006 #include <rtt/Operation.hpp>
00007 
00008 namespace OCL {
00009 namespace logging {
00010 
00011 class LoggingService : public RTT::TaskContext
00012 {
00013 public:
00014     LoggingService(std::string name);
00015     virtual ~LoggingService();
00016     
00017     virtual bool configureHook();
00018 
00019     /* \todo
00020 
00021        configuration of this component
00022        - specify category for this component to log to
00023        - specify priority of logging of this component
00024 
00025        services for other components
00026        - method to set priority of any category
00027        - method to get priority of any category
00028        - method to log to a category
00029     */
00030 
00031 protected:
00032     // list of all category levels
00033     RTT::Property<RTT::PropertyBag>     levels_prop;
00034     // list of appenders per category
00035     RTT::Property<RTT::PropertyBag>     appenders_prop;
00039     RTT::Operation<void(void)>             logCategories_mtd;
00040     void logCategories();
00041 };
00042 
00043 // namespaces
00044 }
00045 }
00046 
00047 #endif