1 #pragma once
2 #ifndef FILTER_HOME_H
3 #define FILTER_HOME_H
4
5 #include "auktion.h"
6
7 #include <cassert>
8 #include <map>
9 #include <string>
10
11 namespace Auktion {
12
13 class FilterHome_impl: virtual public CCM_FilterHome
14 {
15 public:
16 FilterHome_impl(void);
17 virtual ~FilterHome_impl(void);
18
19 // comes from FilterHomeImplicit
20 virtual ::Components::EnterpriseComponent_ptr create();
21 // comes from FilterHomeExplicit
22 virtual ::Components::EnterpriseComponent_ptr new_filter(const char* gegenstand);
23
24 private:
25 // to make it easier for us...
26 typedef std::map<std::string, ::Components::EnterpriseComponent_ptr> STD_MAP;
27
28 STD_MAP table_; // internal dictionary ensures that only one
29 // filter instance exists for 'gegenstand'
30 };
31
32 }
33
34 #endif // FILTER_HOME_H
35