Ignore:
Timestamp:
Dec 13, 2011, 10:45:00 AM (14 years ago)
Author:
Frederik Heber <heber@…>
Children:
d85532
Parents:
40f2e6
git-author:
Frederik Heber <heber@…> (12/02/11 13:05:49)
git-committer:
Frederik Heber <heber@…> (12/13/11 10:45:00)
Message:

Modified ObserverLog: Singleton and both output to screen and internal Log.

  • ObserverLog can now either be printed concurrently or later requested as string (e.g. on exit as has been done before). This should ease debugging Observer code.
  • enable/disableLogging() (dis)activate printing to screen.
  • ObserverLog is now a true singleton.

Details:

  • Implemented helper class ObserverLog::Log which is returned as boost::shared_ptr on addMessage() and can be streamed to.
  • On dstor the logged message is appended with endl, placed into ObserverLog's internal log and printed on screen if enableLogging().
  • NOTE: streaming std::endl is not working, and not necessary.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Patterns/Observer/Observer.cpp

    r40f2e6 r2c11c1  
    2929#endif
    3030
    31 using namespace std;
    32 
    3331
    3432/** Constructor for class Observer.
    3533 */
    36 Observer::Observer(string name)
     34Observer::Observer(std::string name)
    3735{
    3836#ifdef LOG_OBSERVER
    3937  observerLog().addName(this,name);
    40   observerLog().addMessage() << "++ Creating Observer " << observerLog().getName(this) << endl;
     38  observerLog().addMessage() << "++ Creating Observer " << observerLog().getName(this);
    4139#endif
    4240}
     
    5957#ifdef LOG_OBSERVER
    6058  if(!observerLog().isObservable(this)){
    61     observerLog().addMessage() << "-- Destroying Observer " << observerLog().getName(this) << endl;
     59    observerLog().addMessage() << "-- Destroying Observer " << observerLog().getName(this);
    6260  }
    6361#endif
Note: See TracChangeset for help on using the changeset viewer.