/* This file is part of yChat $Author: snooper $ $Date: 2003/04/02 10:50:18 $ $Header: /cvsroot/ychat/ychat/base.cpp,v 1.8 2003/04/02 10:50:18 snooper Exp $ */ // template class data implementation; #ifndef BASE_CPP #define BASE_CPP #include "base.h" template base::base() { map_elem = new hmap(80); pthread_mutex_init (&mut_map_elem, NULL ); } template base::~base( ) { pthread_mutex_destroy( &mut_map_elem ); } template void base::add_elem( type* p_type ) { pthread_mutex_lock ( &mut_map_elem ); map_elem->add_elem ( p_type, p_type->get_name()); pthread_mutex_unlock( &mut_map_elem ); } template void base::del_elem( string &s_name ) { pthread_mutex_lock ( &mut_map_elem ); map_elem->del_elem ( s_name ); pthread_mutex_unlock( &mut_map_elem ); } template type* base::get_elem( string &s_name, bool &b_found ) { pthread_mutex_lock ( &mut_map_elem ); type* p_type = map_elem->get_elem( s_name ); pthread_mutex_unlock( &mut_map_elem ); b_found = p_type == NULL ? false : true; return p_type; } template void base::run_func( void (*func)(type*, void*), void* v_arg ) { pthread_mutex_lock ( &mut_map_elem ); map_elem->run_func( func, v_arg ); pthread_mutex_unlock( &mut_map_elem ); } #endif