summaryrefslogtreecommitdiff
path: root/base.cpp
diff options
context:
space:
mode:
authoradmin (centauri.fritz.box) <puppet@mx.buetow.org>2014-06-30 23:29:34 +0200
committeradmin (centauri.fritz.box) <puppet@mx.buetow.org>2014-06-30 23:29:34 +0200
commit813ee1984130c44f737f27426cc8414d19cf3bd9 (patch)
tree737daaeefa0ee1f2d66821821de489b70522db37 /base.cpp
parent332d7b2107833018b3ef67b64ffe121bff1ef4fb (diff)
parent7ead5b7a9ea99a3e0f1459187b3262f7054f0126 (diff)
Merge remote-tracking branch 'remotes/github/0.5' into 0.50.5
Diffstat (limited to 'base.cpp')
-rw-r--r--base.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/base.cpp b/base.cpp
new file mode 100644
index 0000000..c298ef7
--- /dev/null
+++ b/base.cpp
@@ -0,0 +1,65 @@
+/*
+ This file is part of yChat
+
+ $Author: cvs $
+ $Date: 2004-04-05 10:37:17 $
+
+ $Header: /cvs/cvsroot/ychat-0.5/base.cpp,v 1.1.1.1 2004-04-05 10:37:17 cvs 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