Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUISubject.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUISUBJECT__H_
11#define GUISUBJECT__H_
12
13#include "eC_TList_doubleLinked.h"
14#include "eC_String.h"
15#include "GUIValue.h"
16
17class CGUIObserver;
18class CGUIObject;
19
25
34{
35 friend class CGUIObserver;
36
37public:
38
41
43 virtual ~CGUISubject();
44
49 void AddObserver(CGUIObserver *pObserver);
50
54 void RemoveObserver (CGUIObserver *pObserver);
55
58
64
71 void NotifyObservers (const eC_String& kMessage);
72
79 void NotifyObservers (const CGUIObject* const pkUpdatedObject);
80
90 void NotifyObservers (const CGUIValue& kObservedValue, const CGUIObject* const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0);
91
96 {
97 return m_pObserverList;
98 }
99
100private:
101
103 void NotifyOfObserverDestruction(CGUIObserver *pObserver);
104
109 CGUISubject(const CGUISubject& kSource);
110
116 CGUISubject& operator=(const CGUISubject& kSource);
117
120};
121
122#endif
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
Subject Base class for Observer-Design-Pattern within Guiliani.
Definition: GUISubject.h:34
CGUISubject()
Default constructor.
void RemoveObserver(CGUIObserver *pObserver)
virtual ~CGUISubject()
Default destructor.
void NotifyObservers(const CGUIValue &kObservedValue, const CGUIObject *const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0)
void NotifyObservers(const CGUIObject *const pkUpdatedObject)
void NotifyObservers(const eC_String &kMessage)
void AddObserver(CGUIObserver *pObserver)
void ClearObservers()
Removes all observers from the internal list.
void NotifyObservers()
const eC_TListDoubleLinked< CGUIObserver * > & GetObserverList() const
Definition: GUISubject.h:95
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25