tagging release
[dasher.git] / Src / DasherCore / DasherComponent.h
blobcb289da2066b1fef4f51249eca881a9b1f01c37c
1 #ifndef __dashercomponent_h__
2 #define __dashercomponent_h__
4 namespace Dasher {
5 class CDasherComponent;
6 class CEvent;
7 class CEventHandler;
11 class Dasher::CEvent;
12 class Dasher::CEventHandler;
13 #include "SettingsStore.h"
15 /// \ingroup Core
16 /// @{
17 class Dasher::CDasherComponent {
18 public:
19 CDasherComponent(Dasher::CEventHandler * pEventHandler, CSettingsStore * pSettingsStore);
21 virtual ~CDasherComponent();
23 void InsertEvent(Dasher::CEvent * pEvent);
25 virtual void HandleEvent(Dasher::CEvent * pEvent) {};
27 bool GetBoolParameter(int iParameter) const;
28 long GetLongParameter(int iParameter) const;
29 std::string GetStringParameter(int iParameter) const;
30 void SetBoolParameter(int iParameter, bool bValue) const;
31 void SetLongParameter(int iParameter, long lValue) const;
32 void SetStringParameter(int iParameter, std::string & sValue) const;
34 ParameterType GetParameterType(int iParameter) const;
35 std::string GetParameterName(int iParameter) const;
37 protected:
38 Dasher::CEventHandler *m_pEventHandler;
39 CSettingsStore *m_pSettingsStore;
41 /// @}
43 #endif