28class UniCallbackGen:
public UniTempGen
30 typedef std::map<UniConfKey, UniCallbackGenGetCallback> GetCallbackMap;
31 GetCallbackMap get_callbacks;
32 typedef std::map<UniConfKey, UniCallbackGenSetCallback> SetCallbackMap;
33 SetCallbackMap set_callbacks;
37 bool update_before_get;
38 bool update_after_set;
41 update_before_get(
false),
42 update_after_set(
true) {}
43 virtual ~UniCallbackGen() {}
45 virtual void setgetcallback(
const UniConfKey &key,
46 UniCallbackGenGetCallback get_callback)
49 get_callbacks[key] = get_callback;
51 get_callbacks.erase(key);
53 virtual void setsetcallback(
const UniConfKey &key,
54 UniCallbackGenSetCallback set_callback)
57 set_callbacks[key] = set_callback;
59 set_callbacks.erase(key);
63 WvStringParm value = WvString::null)
65 GetCallbackMap::iterator it = get_callbacks.find(key);
66 if (it != get_callbacks.end())
75 if (update_before_get) update(key);
81 SetCallbackMap::iterator it = set_callbacks.find(key);
82 if (it != set_callbacks.end())
83 it->second(key, value);