00001 /* 00002 * ExampleIssue.cxx 00003 * Test 00004 * 00005 * Created by Matthias Wiesmann on 24.01.05. 00006 * Copyright 2005 CERN. All rights reserved. 00007 * 00008 */ 00009 00010 #include <iostream> 00011 #include <sstream> 00012 #include "ExampleIssue.h" 00013 00014 namespace { 00022 00023 ers::Issue *create_example_issue() { 00024 ers::Issue *i = new ExampleIssue(); 00025 return i ; 00026 } // create_issue 00027 00030 00031 bool registered = ers::IssueFactory::instance()->register_issue(ExampleIssue::CLASS_NAME,create_example_issue) ; 00032 } // anonymous namespace 00033 00034 00035 const char * const ExampleIssue::CLASS_NAME = "ExampleIssue" ; 00036 const char * const ExampleIssue::PROCRASTINATION_LEVEL_KEY = "PROCRASTINATION_LEVEL" ; 00037 00038 ExampleIssue::ExampleIssue() : ers::Issue() {} 00039 00040 ExampleIssue::ExampleIssue(const ers::Context& context, ers::severity_t severity) : ers::Issue(context,severity) {} 00041 00050 ExampleIssue::ExampleIssue(const ers::Context& context, ers::severity_t severity, int procrastination_level) : ers::Issue(context,severity) { 00051 set_value(PROCRASTINATION_LEVEL_KEY,procrastination_level) ; 00052 std::ostringstream msg_str ; 00053 msg_str << "Procrastinating at level " << procrastination_level ; 00054 finish_setup(msg_str.str()); 00055 } // ExampleIssue 00056 00062 int ExampleIssue::procrastination_level() const { 00063 return get_int_value(PROCRASTINATION_LEVEL_KEY); 00064 } // procrastination_level 00065 00072 00073 const char *ExampleIssue::get_class_name() const throw() { 00074 return ExampleIssue::CLASS_NAME ; 00075 } // get_class_name 00076