~siretart/aspectc++/debian

« back to all changes in this revision

Viewing changes to AspectC++/tests/PragmaOnceObserver/ClockObserver.ah

  • Committer: Reinhard Tartler
  • Date: 2013-10-13 18:22:49 UTC
  • mfrom: (1.2.8)
  • Revision ID: siretart@tauware.de-20131013182249-fv725vy5ikslptpj
new upstream relesae

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef MYDIGITALCLOCK_AH
2
 
#define MYDIGITALCLOCK_AH
 
1
#ifndef CLOCKOBSERVER_AH
 
2
#define CLOCKOBSERVER_AH
3
3
 
4
4
#include "ObserverPattern.ah"
5
 
#include "ClockTimer.h"
6
5
 
7
6
aspect ClockObserver : public ObserverPattern {
8
7
  pointcut subjectChange (Subject &subject) =
11
10
 
12
11
public:
13
12
 
14
 
  advice "ClockTimer" : baseclass (Subject);
15
 
  advice observers () : baseclass (Observer);
16
 
  advice observers () : void update (ObserverPattern::Subject *subject) {
17
 
    Draw ((const ClockTimer &)*subject);
18
 
  }
 
13
  advice "ClockTimer" : slice struct : public ObserverPattern::Subject;
 
14
  advice observers () : slice struct : public ObserverPattern::Observer;
 
15
  advice observers () : slice struct {
 
16
    void update (ObserverPattern::Subject *subject) {
 
17
      Draw ((const ClockTimer &)*subject);
 
18
    }
 
19
  };
19
20
 
20
21
  virtual void updateObserver(Subject *subject, Observer *observer) {
21
22
    observer->update (subject);
22
23
  }
23
24
};
24
25
 
25
 
#endif //MYDIGITALCLOCK_AH
 
26
#endif // CLOCKOBSERVER_AH
26
27