diff options
| author | deva <deva> | 2006-01-09 11:11:56 +0000 | 
|---|---|---|
| committer | deva <deva> | 2006-01-09 11:11:56 +0000 | 
| commit | caa558e59c248521d1d4ad483fe669828277664e (patch) | |
| tree | 8cf9a5887ea873fe4f299f66aecf1ded1fe3db4e /src | |
| parent | 3ed6455c3166079d9b8fc1653b307b3c8349055d (diff) | |
*** empty log message ***R0_3_3
Diffstat (limited to 'src')
| -rw-r--r-- | src/cprlisten.cc | 70 | ||||
| -rw-r--r-- | src/cprlisten.h | 50 | 
2 files changed, 120 insertions, 0 deletions
| diff --git a/src/cprlisten.cc b/src/cprlisten.cc new file mode 100644 index 0000000..9a816d2 --- /dev/null +++ b/src/cprlisten.cc @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: tab; c-basic-offset: 2 -*- */ +/*************************************************************************** + *            cprlisten.cc + * + *  Tue Dec 27 17:05:42 CET 2005 + *  Copyright  2005 Bent Bisballe Nyeng + *  deva@aasimon.org + ****************************************************************************/ + +/* + *    This file is part of the Aasimon c++ framework. + * + *    This is free software; you can redistribute it and/or modify + *    it under the terms of the GNU General Public License as published by + *    the Free Software Foundation; either version 2 of the License, or + *    (at your option) any later version. + * + *    It is distributed in the hope that it will be useful, + *    but WITHOUT ANY WARRANTY; without even the implied warranty of + *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *    GNU General Public License for more details. + * + *    You should have received a copy of the GNU General Public License + *    along with it; if not, write to the Free Software + *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. + */ + +#include "cprlisten.h" +#include "socket.h" + +#include <iostream> +#include <string> +using namespace std; + +CPRListen::CPRListen(unsigned short port) +{ +	this->port = port; +	cpr = "N/A"; +} + +CPRListen::~CPRListen() +{ +} + +void CPRListen::thread_main() +{ +	while(1) { +		try { +			Socket socket; +			socket.listen(port); +			mutex.lock(); +			cpr = socket.receive_string(); +			mutex.unlock(); +			cerr << "Got CPR: " << cpr << endl; +		} catch(Network_error &e) { +			cerr << e.error << endl; +		} +	} +} + +string CPRListen::getCpr() +{ +	string cpr_copy; + +	mutex.lock(); +	cpr_copy = cpr; +	mutex.unlock(); + +	return cpr_copy; +} diff --git a/src/cprlisten.h b/src/cprlisten.h new file mode 100644 index 0000000..57551f5 --- /dev/null +++ b/src/cprlisten.h @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: tab; c-basic-offset: 2 -*- */ +/*************************************************************************** + *            cprlisten.h + * + *  Tue Dec 27 17:05:42 CET 2005 + *  Copyright  2005 Bent Bisballe Nyeng + *  deva@aasimon.org + ****************************************************************************/ + +/* + *    This file is part of the Aasimon c++ framework. + * + *    This is free software; you can redistribute it and/or modify + *    it under the terms of the GNU General Public License as published by + *    the Free Software Foundation; either version 2 of the License, or + *    (at your option) any later version. + * + *    It is distributed in the hope that it will be useful, + *    but WITHOUT ANY WARRANTY; without even the implied warranty of + *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *    GNU General Public License for more details. + * + *    You should have received a copy of the GNU General Public License + *    along with it; if not, write to the Free Software + *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. + */ + +#ifndef __AASIMON_FRAMEWORK_CPRLISTEN_H__ +#define __AASIMON_FRAMEWORK_CPRLISTEN_H__ + +#include <string> + +#include "thread.h" +#include "mutex.h" + +class CPRListen: public Thread { +public: +	CPRListen(unsigned short port); +	~CPRListen(); + +	std::string getCpr(); +	void thread_main(); +	 +private: +	unsigned short port; +	std::string cpr; +	Mutex mutex; +}; + +#endif/*__AASIMON_FRAMEWORK_CPRLISTEN_H__*/ | 
