WvStreams
uniwatch.cc
00001 /*
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  * 
00005  * A class that does add_callback when created and del_callback when
00006  * destroyed.  See uniwatch.h
00007  */
00008 #include "uniwatch.h"
00009 #include "uniconfroot.h"
00010 
00011 
00012 UniWatch::UniWatch(const UniConf &_cfg, const UniConfCallback &_cb,
00013                    bool _recurse)
00014     : cfg(_cfg), cb(_cb), recurse(_recurse)
00015 {
00016     cfg.add_callback(this, cb, recurse);
00017 }
00018 
00019 
00020 UniWatch::UniWatch(const UniConf &_cfg, bool *b, bool _recurse)
00021     : cfg(_cfg), cb(wv::bind(&UniConfRoot::setbool_callback, b, _1, _2)),
00022     recurse(_recurse)
00023 {
00024     cfg.add_callback(this, cb, recurse);
00025 }
00026 
00027 
00028 UniWatch::~UniWatch()
00029 {
00030     cfg.del_callback(this, recurse);
00031 }