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 public:
15 FilterHome_impl(void);
16 virtual ~FilterHome_impl(void);
17
18 // comes from FilterHomeImplicit
19 virtual ::Components::EnterpriseComponent_ptr create();
20 // comes from FilterHomeExplicit
21 virtual ::Components::EnterpriseComponent_ptr new_filter(const char* gegenstand);
22
23 private:
24 // to make it easier for us...
25 typedef std::map<std::string, ::Components::EnterpriseComponent_ptr> STD_MAP;
26
27 STD_MAP table_; // internal dictionary ensures that only one
28 // filter instance exists for 'gegenstand'
29 };
30
31 }
32
33 #endif // FILTER_HOME_H
34
35