00001 /* 00002 * Copyright (c) 2010 Ferruccio Vitale <unixo@devzero.it> 00003 * All rights reserved. 00004 * 00005 * $Id: Observer.h 75 2010-09-13 09:25:53Z unixo $ 00006 */ 00007 00008 #ifndef __OBSERVER_H__ 00009 #define __OBSERVER_H__ 00010 00011 #include <string> 00012 00013 using namespace std; 00014 00015 // Forward declaration 00016 class Observable; 00017 00027 class Observer 00028 { 00029 public: 00030 virtual ~Observer() {} 00031 00032 virtual void willChangeValueForKey(string, Observable *) = 0; 00033 virtual void didChangeValueForKey(string, Observable *) = 0; 00034 virtual string & toString() = 0; 00035 }; 00036 00037 #endif /* __OBSERVER_H__ */