summaryrefslogtreecommitdiff
path: root/ychat-0.3/base.cpp
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
commit9cd3ccffd5372dfde3af478e3f832f18db4be3f1 (patch)
tree631c295a4a4a16b57502b847626763a279bf6df7 /ychat-0.3/base.cpp
parent13aaf70af703748fe096e0664c305cd202637ad2 (diff)
tagging tags
Diffstat (limited to 'ychat-0.3/base.cpp')
-rwxr-xr-xychat-0.3/base.cpp65
1 files changed, 65 insertions, 0 deletions
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<class type>
+base<type>::base()
+{
+ map_elem = new hmap<name*,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( 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<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> name*
+base<type>::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<class type> void
+base<type>::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