diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:42 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:42 +0200 |
| commit | 0537da9d1e0f593130fc3967befb71e673b016bc (patch) | |
| tree | e6733c8494e0dc8df5bd7e5d2dcbd401771272b6 /src/base.cpp | |
| parent | 3e382f0c9435cbf72570a87640652ad1551c7cfd (diff) | |
tagging ychat-0.5.4ychat-0.5.4
Diffstat (limited to 'src/base.cpp')
| -rwxr-xr-x | src/base.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/base.cpp b/src/base.cpp new file mode 100755 index 0000000..06c0c2d --- /dev/null +++ b/src/base.cpp @@ -0,0 +1,69 @@ +/* + This file is part of yChat + + $Author: buetow $ + $Date: 2005/03/02 12:57:41 $ + + $Header: /usr/home/cvs/cvsroot/ychat-stable/src/base.cpp,v 1.1 2005/03/02 12:57:41 buetow Exp $ +*/ +// template class data implementation; + +#ifndef BASE_CPP +#define BASE_CPP + +#include "base.h" + +template<class type> +base<type>::base() +{ + map_elem = new hmap<type*,string>(80); + pthread_mutex_init (&mut_map_elem, NULL ); +} + +template<class type> +base<type>::~base( ) +{ + pthread_mutex_destroy( &mut_map_elem ); +} + +template<class type> +void +base<type>::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<class type> +void +base<type>::del_elem( string &s_name ) +{ + pthread_mutex_lock ( &mut_map_elem ); + map_elem->del_elem ( s_name ); + pthread_mutex_unlock( &mut_map_elem ); +} + +template<class type> +type* +base<type>::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<class type> +void +base<type>::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 |
