From 9cd3ccffd5372dfde3af478e3f832f18db4be3f1 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 6 Apr 2013 13:14:41 +0200 Subject: tagging tags --- ychat-0.3/base.cpp | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 ychat-0.3/base.cpp (limited to 'ychat-0.3/base.cpp') diff --git a/ychat-0.3/base.cpp b/ychat-0.3/base.cpp new file mode 100755 index 0000000..e75a2ff --- /dev/null +++ b/ychat-0.3/base.cpp @@ -0,0 +1,65 @@ +/* + This file is part of yChat + + $Author: paul $ + $Date: 2003/03/30 01:35:21 $ + + $Header: /home/cvsroot/ychat/base.cpp,v 1.7 2003/03/30 01:35:21 paul 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( name* p_name ) +{ + pthread_mutex_lock ( &mut_map_elem ); + map_elem->add_elem ( p_name, p_name->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 name* +base::get_elem( string &s_name, bool &b_found ) +{ + pthread_mutex_lock ( &mut_map_elem ); + name* p_name = map_elem->get_elem( s_name ); + pthread_mutex_unlock( &mut_map_elem ); + + b_found = p_name == NULL ? false : true; + + return p_name; +} + +template void +base::run_func( void (*func)(name*, void*), void* v_arg ) +{ + pthread_mutex_lock ( &mut_map_elem ); + map_elem->run_func( func, v_arg ); + pthread_mutex_unlock( &mut_map_elem ); +} + +#endif -- cgit v1.2.3